Я хочу иметь возможность легко сохранять и повторно отображать маршрут маршрута Google Maps на карте Google.Скажем, из точки А в точку B объект DirectionsResult от Google имеет 100 точек вдоль маршрута. Я хочу сохранить этот маршрут и гарантировать, что в следующий раз, когда я его раскрасю, направления пройдут через всеэти точки.
Я видел людей, пытающихся это сделать, - сериализовать весь объект DirectionsResult и сохранить его в базе данных.Затем, когда мы хотим перерисовать маршрут, отправьте строку обратно, JSON.Parse, а затем попытайтесь передать ее объекту DirectionsRenderer , который будет отображать направления на карте.У этого подхода есть три проблемы:
1) Вы теряете информацию о типах в процессе сериализации, и, поскольку Google минимизирует объекты, вы не можете использовать функции класса для надежного извлечения этих значений из объекта.Сначала необходимо использовать функции доступа к данным для создания объектов-заполнителей при первоначальной сериализации объекта, а затем перестраивать объекты Google Maps при последующем анализе сериализованной строки.
2) Это юридически сомнительно.В Google Maps TOS говорится, что вы не должны хранить данные постоянно, и, судя по другим сообщениям, этот подход нарушает его.
3) Объект может быть огромным, один сериализованный мной маршрут превышал 64 КБ.
Я также подумал о том, чтобы попытаться сохранить несколько точек на пути и затем перестроить его, используя точки пути.Этот вид работает, но вы можете иметь максимум 8 баллов для бесплатного API, так что это не гарантирует большую точность, кроме этих 8 баллов.Кроме того, он затем рисует маркеры путевых точек вдоль маршрута, которые, как мне кажется, могут сбить пользователя с толку.
Есть ли приемлемый способ хранения точных маршрутов из Карт Google или API и TOS специально разработаны для предотвращения этого?Спасибо за помощь.