кеширование результатов Google Places API

Я создаю мобильное приложение, в котором перечислены сообщения, к каждому сообщению привязано место.

Я хочу, чтобы список мог показывать расстояние от местоположения пользователя. без кэширования чего-либо, что потребовало бы хранения ссылки на место для каждого сообщения и при перечислении геометрии места из API Google Places, это звучит как очень плохая идея.

Могу ли я хранить идентификатор места, ссылку, имя и геометрию в моей базе данных и доставлять их с помощью моего API? это только для производительности

другой реализацией может быть кэширование этих данных в локальной базе данных sqlite на мобильном устройстве, но тогда пользователю придется загружать информацию для каждого некэшированного места, поэтому для списка X разных мест клиент будет выполнять вызовы X API, звуки медленный и расход батареи.

Могу ли я иметь центральный кеш в моей базе данных в таблице, которая будет обновляться время от времени и удаляться, если к ней нет доступа, скажем, в течение 30 дней?


person Gal Ben-Haim    schedule 31.05.2012    source источник
comment
Рекомендуем прочитать раздел 10.1.3b Условий использования API Карт Google: goo.gl/8drnj.   -  person andresf    schedule 31.05.2012
comment
Я прочитал это, какова хорошая стратегия кэширования для мобильного приложения, в котором перечислены расстояния от текущего местоположения? получение информации о широте и долготе для каждого элемента списка для каждого клиента может привести к безумному количеству запросов   -  person Gal Ben-Haim    schedule 02.06.2012


Ответы (3)


На странице Google в Places указано, что кэширование идентификатора Places разрешено.

В условиях в 10.5.d указано, что вы можете хранить ограниченно количество контента не более чем за 30 календарных дней по соображениям производительности. Поскольку это то, что вы пытаетесь сделать, я ожидаю, что вы можете сохранить идентификатор, местоположение и имя.

Когда вы начнете кэшировать больше информации, вы нарушите условия API. Не совсем понятно, что это такое, но я думаю, что пока вы ведете себя разумно, все будет в порядке.

person SoftWyer    schedule 06.06.2015
comment
Это было из лицензии от 7 февраля 2108 года. По состоянию на март 2019 года действует пункт 3.2.4 Ограничения на неправомерное использование Сервисов, в котором говорится, что кэширование разрешено для определенных Сервисов, как описано в Особых условиях Картографического сервиса. Отслеживая это, вы можете сохранить place_id и кэшировать широту/долготу на 30 дней. - person chronon; 14.03.2019
comment
Я больше не могу найти эти цифры в ссылках в ответе. Вот свежий: cloud.google.com/maps-platform. /terms/maps-service-terms ›5.4 Кэширование. Клиент может временно кэшировать значения широты (lat) и долготы (lng) из API Places на срок до 30 последовательных календарных дней, после чего Клиент должен удалить кэшированные значения широты и долготы. Клиент может кэшировать значения Places API Place ID (place_id) в соответствии с политиками Places API. - person Alex; 11.08.2020

В соответствии с текущей политикой, идентификатор места освобождается от ограничения кэширования.

Предварительное извлечение, кэширование или хранение контента

Предварительная загрузка, кэширование или хранение контента. Приложения, использующие Directions API, подчиняются Условиям обслуживания платформы Google Maps. В разделе 3.2.4(a) условий указано, что вы не должны предварительно извлекать, кэшировать, индексировать или хранить любой Контент, за исключением ограниченных условий, указанных в условиях.

Обратите внимание, что идентификатор места, используемый для уникальной идентификации места, освобождается от ограничения кэширования. Таким образом, вы можете хранить значения идентификаторов мест неограниченное время. Значения идентификатора места возвращаются в поле place_id в ответах Directions API.

person notionquest    schedule 03.01.2019
comment
Это правильный ответ, ответ от @Curly устарел, к сожалению! - person hannojg; 13.01.2020
comment
...за исключением ограниченных условий, указанных в условиях. Я просмотрел все последние условия Google, и до сих пор не ясно, при каких условиях я могу хранить больше данных, таких как название места, адрес и т. д. Может ли кто-нибудь помочь здесь, пожалуйста? - person Low-Pointer; 11.09.2020

Обратите внимание, что идентификатор места, используемый для уникальной идентификации места, освобождается от ограничения кэширования. Таким образом, вы можете хранить значения идентификаторов мест неограниченное время. Идентификатор места возвращается в поле place_id в ответах Places API. https://developers.google.com/places/web-service/policies#usage_limits

person Tom    schedule 08.10.2020