Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > [Google Maps] Маршруты на карте


Автор: SKIF52 17.5.2008, 11:52
Здравствуйте) Мне нужно реализовать следующую вещь.

На сайте нужно разместить карту опр. региона, на которой пользователь сможет отметить маршрут (как http://gmaps-samples.googlecode.com/svn/trunk/poly/mymapstoolbar.html) и дальше сохранить полученный результат на сервере как картинку.

Подскажите пожалуйста примерную последовательность моих действий. Какие разделы справки читать (все не осилю, впервые столкнулся с гуглокартами), или может есть уже что-то подобное поковыряться?

Автор: v2v 17.5.2008, 12:21
Цитата(SKIF52 @  17.5.2008,  11:52 Найти цитируемый пост)
все не осилю, впервые столкнулся с гуглокартами

ну так сначала разберись как на свою страничку добавить google map.
затем стоит познакомится с функциями : 
GEvent.addListener
GEvent.bind
GPolyline
и др.
разберёшься, получится сделать пример, 
Цитата(SKIF52 @  17.5.2008,  11:52 Найти цитируемый пост)
(как здесь) 


Автор: SKIF52 17.5.2008, 17:58
рисовать с горем пополам научился. А как сохранять так и не понял smile 

Опять же возьмем http://gmaps-samples.googlecode.com/svn/trunk/poly/mymapstoolbar.html.

Нарисовали мы линию 
Код

var line = new GPolyline([], color);


А как потом ее достать и сохранить в удобоваримом формате (xml, kml)? Максимум, что нашлось http://maps.forum.nu/gm_markers_from_db.php, который позволяет сохранить введенные координаты маркера в БД, а потом их вывести на карте, но это совсем не то что нужно. 

Автор: v2v 17.5.2008, 19:15
Цитата(SKIF52 @  17.5.2008,  17:58 Найти цитируемый пост)
позволяет сохранить введенные координаты маркера в БД, а потом их вывести на карте, но это совсем не то что нужно.  

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

Автор: neocasta 13.6.2008, 13:43
Я лично рисовал просто маркерами и каждый последующий маркер отправлял при помощи httprequiest на сервер
так же при редактировани
вот сырой пример
http://lab.neocasta.com/examples/google_map_ajax/1.0/
соединительная линия там не работает 
я не стал искать причину думаю что проблема с firefox

ещё есть библиотека openlayers - там можно испльзовать в качестве подложки не только google map yahoo map и др , но и обычную картинку в качестве подложки

Для сохранения результата есть вариант сохранять методом конфертирования объекта в строку (serialize) 

А вот сохранение картинки из карт - это задача непростая. Если ты не раскроешь реализацию рендеринга firefox)
Есть возможность подключить возможность сервиса static google map (поищи в инете) . Этот сервис выдаёт резултат в виде картинки ,использование очень просто.
Ограничение этого сервиса , там только два типа карты и нет типа карты со спутника



P.S.
Встречный вопрос может кто знает . Нужна простая реализация рисования линий , полигонов на обычной странице

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)