Как я могу использовать API Google Places несколько раз в приложении, ориентированном на местоположение?

#java #android #firebase

# #java #Android #firebase

Вопрос:

Я разрабатываю приложение, которое предоставит вам близлежащие мечети в пределах 10 км от вашего текущего местоположения. Теперь, когда Places API разрешает определенное количество запросов в день, я использовал firebase для хранения близлежащих мечетей для определенного местоположения, и я сначала проверяю, есть ли данные в базе данных или нет, прежде чем запрашивать. Но это все равно не решает проблему. например, если пользователь находится в пути весь день, результаты должны меняться каждую минуту в зависимости от его / ее местоположения. Как я могу достичь желаемых результатов?

Как упоминалось ранее, я сохраняю близлежащие местоположения в базе данных с их относительным местоположением (вокруг которого они существуют). Но это не совсем решает проблему.

Любая помощь будет принята с благодарностью.

Ответ №1:

Places API — это коммерческое предложение — вы должны платить за его использование, если хотите создавать приложения на его основе.

Существует определенное небольшое количество вызовов, которые вы можете выполнять бесплатно, но это предназначено только для тестирования или частного использования. Я не юрист, но я бы предположил, что обход платы путем очистки карты (например, настройка бота для обхода страны для создания базы данных точек интереса) был бы незаконным и, вероятно, вы получили бы письмо от Google, в котором говорилось бы, что вам следует остановиться.

Комментарии:

1. Да, на самом деле в лицензионном соглашении явно указано, что вам не разрешено кэшировать данные, поэтому, если это используется в коммерческом приложении, Google может подать в суд или оштрафовать.

2. @JoachimHaglund Это не коммерческое приложение. Просто академический проект.

3. в этом случае, я думаю, вам просто нужно смириться с ограничениями, так как это может стать довольно дорогостоящим из-за большого количества вызовов, если вы зарегистрируетесь для получения полной лицензии. Возможно, вы можете отображать предупреждение в приложении, когда у вас закончились вызовы, или установить ограничение, согласно которому вы можете совершать только один вызов каждые 10 минут или 30 минут или что-то в этом роде, если данные не могут быть получены из базы данных / кэша

4. @hafsa в любом случае: Places API не предназначен для бесплатного. Есть вещи, которые стоят денег: хостинг, доступ к определенным API, лицензии на программное обеспечение и т. Д. Создание академического проекта не означает, что вы получите его бесплатно (хотя для некоторых, таких как лицензии на программное обеспечение, это иногда имеет место)

Ответ №2:

Используйте класс AutocompleteSessionToken для создания токена и поместите его после вашего ключа, этот токен сократит ваше использование, потому что вы можете запрашивать places api несколько раз, и все равно это будет рассматриваться как один запрос. я надеюсь, что это поможет, потому что я не очень хорошо понял ваш вопрос. вот пример ссылки:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=1600 Amphitheatreamp;key=amp;sessiontoken=1234567890.

Для получения дополнительной информации.смотрите здесь

Комментарии:

1. автозаполнение не получает полных данных для мест, хотя, например, координаты не включаются, когда вы вызываете только автозаполнение, поэтому это будет работать только для фактического ввода, поэтому вы получаете только имена и идентификаторы, которые вы получаете. Его улучшение должно использоваться для поиска (автозаполнения), как следует из названия, и когда пользователь выбирает местоположение, вы отправляете это местоположение в details api для получения координат и т. Д.