Подтвердить что ты не робот

Сохранение полного маршрута Google Карт

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

Как я видел, люди, пытающиеся это сделать, это сериализовать весь объект DirectionsResult и сохранить его в базе данных. Затем, когда мы хотим перерисовать маршрут, отправьте строку обратно, JSON.Parse, а затем попытайтесь передать ее DirectionsRenderer объект, который отобразит направления на карте. Этот подход имеет три проблемы:

1) Вы теряете информацию о типе во время процесса сериализации, и поскольку Google минимизирует объекты, вы не можете использовать функции класса для надежного получения этих значений из объекта. Прежде всего, вы должны использовать функции доступа к данным для создания объектов "место-держатель" при первоначальной сериализации объекта, а затем перестроить объекты Google Maps, когда позже разбираете сериализованную строку.

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

3) Объект может быть огромным, один маршрут я сериализован более чем на 64 КБ.

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

Существует ли способ хранения точных маршрутов с Карт Google или API и TOS, предназначенные для предотвращения этого? Спасибо за помощь.

4b9b3361

Ответ 1

Я считаю, что это юридически сомнительно. Фактически это почти наверняка противоречит Условиям обслуживания. Как вы указываете, это постоянное хранилище для целей, отличных от повышения производительности (в отличие от 10.1.3 (b)); но он также предназначен для указания направлений без их получения через API (в отличие от 10.1.1 (a)). Тот факт, что Google не сделал это легко, означает, что они не санкционировали это использование. Фактически TOS и API предназначены для того, чтобы сделать такое хранилище сложным, если не невозможным.

Было бы неприемлемо хранить начальную и конечную точки и позволить API работать по маршруту, когда вы хотите снова отобразить его?

Ответ 2

Взгляните на www.mapmyrun.com, они используют google maps api, и они, безусловно, сохраняют данные. Однако маловероятно, что они используют бесплатный API.