Результаты геокодирования без отображения их на карте

Я devoloping приложение, которое позволяет пользователю узнать его местоположение. Я использую этот пример

Но я также видел здесь, что «API геокодирования может использоваться только в сочетании с картой Google, результаты геокодирования без отображения их на карте запрещены». Поэтому я не могу использовать Geocoder, не отображая результат на карте?

Solutions Collecting From Web of "Результаты геокодирования без отображения их на карте"

Geocoder , класс, который вы используете, для Android находится под пакетом: android.location.Geocoder .

Это отличается от Google Geocoding API:
https://developers.google.com/maps/documentation/geocoding/?hl=fr
Для которого мы будем использовать URL:
http://maps.googleapis.com/maps/api/geocode/output?parameters

Существует класс GeoCoder для javascript, который связан с Google Geocoding API, который является классом Geocoder API Google Maps v3. (Поиск которого приведет нас к: https://developers.google.com/maps/documentation/javascript/services?hl=fr#Geocoding )

Поэтому, когда есть ссылка на «API геокодирования», можно использовать только в сочетании с картой Google, результаты геокодирования без отображения их на карте запрещены ».

Это было бы для API и связанного с ним класса API v3, а не для android.location.Geocoder .

Кроме того, я хотел бы, чтобы вы знали о:
https://code.google.com/p/android/issues/detail?id=8816

Я столкнулся с этим.

Фактически, вы можете использовать API геокодирования, нет предела. См. Мой последний ответ

Получить текущее местоположение с помощью json

TLDR: Все должно быть хорошо.

Контент, на который вы ссылаетесь, действительно относится к API REST Google и гласит:

API геокодирования может использоваться только в сочетании с картой Google; Результаты геокодирования без отображения их на карте запрещены. Подробную информацию о разрешенном использовании см. В Ограничениях лицензии на использование API Карт API .

Насколько мне известно, это не повлияет на использование Android. Ссылаясь на этот ответ, кажется, что:

Поэтому нет никакого жесткого ограничения на использование API GeoCode API, более справедливая политика использования на каждом устройстве (клиенте)

Из TOS :

(A) Свободный доступ (без комиссии). Реализация API Карт должна быть в целом доступной для пользователей бесплатно и не должна требовать платной подписки или другого ограниченного доступа на основе платы. Это правило применяется к вашему Контенту и любому другому контенту в вашей реализации API Карт, независимо от того, существует ли ваш контент или другой контент или добавлен позже.

Однако:

(Б) Мобильные приложения. (I) Правило в Разделе 9.1.1 (a) (Свободный доступ) не применяется, если ваша реализация API Карт используется в мобильном приложении, которое продается за плату через интернет-магазин и загружается на мобильное устройство, которое может Доступ к интернет-магазину.

(Ii) Правило в Разделе 9.1.1 (b) (Public Access) не применяется, если ваша реализация API Карт – это приложение для Android, которое использует API Android Google Maps. (Тем не менее, правило в разделе 9.1.1 (b) (Public Access) будет продолжать применяться, если ваша реализация API Карт является приложением для Android, которое использует любые другие API Карт, если только реализация API Карт не квалифицируется для исключения в Разделе 9.1. 2 (a) (корпоративное соглашение с Google).)

Я всегда находил TOS немного сложнее понять себя и связался с Google. Хотя они всегда были прекрасны, иногда требуется время для ответа. Надеюсь, это поможет разобраться в этом и вам, и всем, кто сталкивается с этим.

Вы можете использовать Android Geocoder без отображения результатов на карте.

Служба геокодирования для Android абстрагируется от любой конкретной серверной реализации и зависит от OEM-поставщика, реализующего эту функцию в устройстве. В приведенной выше документации говорится:

Для класса Geocoder требуется бэкэнд-сервис, который не входит в основную инфраструктуру Android. Методы запросов Geocoder возвратят пустой список, если на платформе нет бэкэнд-сервиса. Используйте метод isPresent (), чтобы определить, существует ли реализация Geocoder.

Другими словами, Android Open-Source Project включает только прокси-класс для службы Geocoder , базовый абстрактный GeocoderProvider, который должен быть реализован , и интерфейс для поставщиков местоположения, реализующих службы Geocoder, а не фактическую реализацию сервиса Geocoder.

Таким образом, когда ваше приложение работает на устройстве, оно может получить доступ к любому количеству поставщиков геокодирования при использовании API-интерфейса Geocoder Android в зависимости от того, как этот OEM-производитель реализовал эту услугу на этом конкретном устройстве. У Google может быть соглашение с некоторыми OEM-производителями о предоставлении этих услуг через собственный веб-интерфейс Geocoding API , но это соглашение не включает вас как разработчика и не будет заставлять вас использовать веб-интерфейс API-интерфейсов геокодирования (поскольку у вас есть Нет способа узнать, действительно ли ваше приложение использует службу Google).