Есть ли хороший способ минимизировать нагрузку на Google Maps Roads API? - PullRequest
0 голосов
/ 01 декабря 2018

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

[Device GPS] -> [Sends Cellular GSM request to API] -> [API queries Google 
Roads] -> [Google Roads returns snapped coordinates] -> [App maps received 
coordinates]

java API берет указанные в отчете координаты и, по сути, отправляет запрос в Google Maps Roads API и использует функцию Snap-to-road (это, по сути, займет любую точку, которую вы ей дали, вместе с необязательно пройденным путем координат, ивернуть вам координаты, которые, по сути, находятся на пути, по которому, по вашему мнению, вы путешествуете).Это здорово и все, но с одной задержкой.

ЭТО ДОРОГО.

Для двух устройств, сообщающих свое местоположение (аналогично тому, как это делают Uber или Lyft) каждые несколько секунд,стоимость запуска этого приложения, по сути, делает его скрытым.24000 запросов обойдутся вам в 300-500 долларов.Для одного устройства.

Мы предприняли несколько попыток, чтобы принимать запросы к API только в рабочее время, но это все еще едва царапает поверхность.

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

Кто-нибудь реализовывал такое решение или что-то подобное?Мне просто нужно оплатить количество запросов, которые я отправляю в API Карт Google, прежде чем обанкротить этот проект.

1 Ответ

0 голосов
/ 01 декабря 2018

Если вы еще этого не сделали, я думаю, вы захотите взглянуть на таблицу цен API Карт Google (https://cloud.google.com/maps-platform/pricing/sheet/?) и поговорить с Google.Они должны быть в состоянии объяснить вам правильный архитектурный подход (локальное кэширование частей карт, обработка локальных путей и т. Д.).

При https://en.wikipedia.org/wiki/Google_Maps#Google_Maps_API они объясняют изменения в ценах и другие полезные детали, нов разделе также упоминаются альтернативы, такие как OpenLayers и локальный хостинг карт, если ваш сценарий использования позволит это сделать.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...