Какой хороший API данных о местах/точках интереса с кэшированием?

Вопрос или проблема

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

В настоящее время я использую API Google Maps Places, чтобы показывать ближайшие рестораны и бары, и он отлично работает; я могу показывать информацию о каждом месте (название, адрес, расстояние, цена, фото с места и рейтинг Google), но недавно я обнаружил, что положения API Places явно запрещают кэширование или сохранение каких-либо данных. Это означает, что мне либо придется переписать большую часть приложения, так что каждый раз, когда отображается мероприятие, необходимо будет вызывать API, и все детали мероприятия снова получать (что, безусловно, негативно скажется на производительности приложения, затянет разработку и будет намного дороже, чем я ожидал), либо мне придется перейти на другой сервис.

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

Может кто-нибудь с опытом в этой области поделиться своим мнением?

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

Данные, которые вы используете через API мест, принадлежат Google и собираются от пользователей Google (например, бизнесы, размещающие свою информацию на Google Maps). Единственные открытые данные (например, openstreetmaps) или данные, созданные правительством, просто не будут содержать столько информации.

К сожалению, вам, вероятно, просто придется разрабатывать по образцу Google.

Ответ или решение

Вопрос об API для получения данных о местах интереса с возможностью кеширования – важный аспект для разработчиков приложений, ориентированных на активность пользователей. В вашем случае, когда речь идет о создании приложения для планирования мероприятий с акцентом на рестораны и бары, очевидно, что использование Google Maps Places API сталкивается с ограничениями, выдержанными в их условиях.

Почему необходимо рассматривать другие альтернативы?

Хотя Google Maps Places API может обеспечивать богатые данные о местах, включая названия, адреса, фотографии, рейтинги и ценовые категории, условия лицензирования запрещают кешировать эти данные. Это ставит под угрозу производительность вашего приложения и увеличивает задержки при каждом запросе к API, что может сильно повлиять на опыт пользователя.

Подходящие альтернативы для API

  1. Foursquare API

    • Преимущества: Foursquare предоставляет доступ к обширной базе данных о ресторанах и барах, включая фотографии, цены и отзывы пользователей. API позволяет кешировать данные, что делает его подходящим для ваших нужд.
    • Недостатки: Возможно, не все данные будут доступны или будут иметь такую же полноту, как Google.
  2. Yelp Fusion API

    • Преимущества: Yelp API предлагает детальную информацию о местах, включая названия, адреса, стоимость, рейтинги и богатые пользовательские отзывы. Кроме того, вы можете кешировать данные, что значительно снизит количество запросов и увеличит скорость работы приложения.
    • Недостатки: Могут быть ограничения на количество запросов в минуту. Также, как и с Foursquare, качество данных может варьироваться в зависимости от региона.
  3. Here Places (Geocoding and Search API)

    • Преимущества: Here API предоставляет информацию о местоположениях, включая фотографии, рейтинг и категории мест. Это также дает вам возможность кешировать необходимую информацию.
    • Недостатки: Может потребовать большего времени на интеграцию и настройку в сравнении с другими более распространенными поставщиками данных.
  4. OpenStreetMap (OSM) с дополнительными слоями данных

    • Преимущества: Хотя базовые данные OpenStreetMap могут быть не такими полными, существует множество сторонних организаций, которые добавляют информацию о местах (например, фотографии и отзывы). Примеры таких сервисов: MapBox и Leaflet.
    • Недостатки: Качество и полнота данных могут быть значительно варьироваться в зависимости от региона и сообщества.

Как выбрать оптимальный API?

При выборе API для вашего приложения важно учитывать следующие факторы:

  • Полнота данных: Заинтересованы ли вы больше в количестве данных или их разнообразии. Некоторые API могут предлагать невероятное количество отзывов, но с ограниченной информацией или наоборот.
  • Возможности кеширования: Обязательно убедитесь, что выбранный вами API разрешает кеширование данных, что является ключевым для производительности вашего приложения.
  • Условия использования: Внимательно ознакомьтесь с условиями использования API, чтобы не столкнуться с неожиданными ограничениями.
  • Сообщество и поддержка: Возможно, вам потребуется поддержка в будущем, поэтому обратите внимание на активность сообщества и наличие документации.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...