Я хочу иметь возможность легко хранить и перерисовывать маршрут маршрутов 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, предназначенные для предотвращения этого? Спасибо за помощь.