Создавайте маршруты/путевые точки/полилинии на карте Google; сохранить и получить их позже

Я хочу создать веб-приложение, которое позволит мне создавать, хранить и отображать мои путешествия. Что-то похожее на эту услугу на самом деле. Основная структура/идеи:

  1. create my trips by the following options
    • load a gpx
    • создать полилинию (например, траекторию полета)
    • создать маршрут с помощью Google Directions
    • Каждая поездка состоит из одного или нескольких «этапов» или «этапов», каждый из которых может быть создан, как указано выше.
  2. сохранить маршруты, чтобы я мог отобразить их на карте Google или отредактировать их (перетаскивая) позже

Таким образом, одна карта будет содержать несколько «поездок», которые выглядят как это
Я уже читал много об этом вопросе, и я думаю, что смогу справиться с частью создания маршрутов, однако, когда дело доходит до их хранения, я не уверен, понял ли я, что возможно и как это сделать.

Мои вопросы:

  • Хранение: я думал либо преобразовать каждую поездку после ее завершения в собственный XML-файл, содержащий всю необходимую информацию, такую ​​​​как путевые точки и этапы. Этот файл будет храниться в моем веб-пространстве, а затем может быть проанализирован для отображения поездок в любое время.
  • Однако я вижу проблему при создании этапа с использованием направлений Google: как я могу сохранить/получить такой этап и сохранить информацию о направлениях? Это довольно просто, если я не меняю маршрут, перетаскивая путевые точки (я могу просто сохранить начальную и конечную точки и создать их на лету), однако я хотел бы иметь возможность редактировать их позже, снова перетаскивая линию . Можно ли извлечь все дополнительно вставленные путевые точки, чтобы позже воссоздать маршрут, используя не только начальную и конечную точки, но и эти дополнительные точки (т. е. покажет ли мне тот же вариант маршрута?)
  • Есть ли какой-либо аспект, противоречащий условиям gmaps?
  • Я также мог бы использовать базу данных mySQL для хранения информации, это лучший подход?

Кстати, я новичок во всем программировании gMaps API. Моя система основана на php.


person Dreamingof8a    schedule 17.06.2012    source источник


Ответы (1)


Я бы порекомендовал вам базу данных mysql для хранения информации. Направления - это всего лишь набор пар широта-длина, время в пути и точки многоугольника. Обычно я храню его в массиве JS, но вы также можете использовать объекты Json или JS. Я думаю, вы можете сериализовать массив и сохранить его в базе данных. Я бы использовал xml только для конфигурации или форматированного вывода с помощью xlst. Идея также состоит в том, чтобы хранить широту-долготу в виде точек и использовать для них пространственный индекс, чтобы ускорить поиск.

person Gigamegs    schedule 17.06.2012
comment
Спасибо. Еще один вопрос: как карты Google узнают, что в следующий раз, когда я покажу массив предыдущего маршрута направления, что это действительно направление, а не просто полилиния? Я думаю отредактировать его, перетащив путевые точки; при работе с направлениями маршрут привязывается к дорогам / тропам, тогда как полилинии на самом деле можно перетаскивать куда угодно, так сказать, по прямой. Или это только вопрос параметра/вызова для указания формата? Как я уже сказал, я совсем новичок во всем API. - person Dreamingof8a; 18.06.2012
comment
Я думаю, это зависит от того, хотите ли вы сохранить полилинию направления, чтобы использовать ее позже или в качестве резервной копии. Функцию полилинии можно также использовать для пар широты и долготы. Или вы можете только сохранить полилинию и получить пары широты и долготы из полилинии. Что вы можете сделать, так это сгладить полилинию, например, чтобы объединить 2 точки вместе, чтобы было ясно, что это всего лишь инструмент для визуализации, а не что-то серьезное. - person Gigamegs; 18.06.2012
comment
Хорошо, спасибо за это. Думаю, мне придется начать играть с ним, чтобы выяснить, столкнусь ли я с проблемами. - person Dreamingof8a; 26.06.2012
comment
Идея также состоит в том, чтобы хранить широту-долготу в виде точек и использовать для них пространственный индекс, чтобы ускорить поиск. - person Gigamegs; 26.06.2012