Клуб API Карт

Как сделать карту на которой можно указывать точку и значения передавать в INPUT

Пост в архиве.
webmaster-savmp
6 января 2012, 01:40

Как сделать карту на которой можно указывать точку и значения передавать в INPUT

Как сделать?

Есть карта и два INPUT поля для ввода

Я выбираю точку на карте а параметры широты и долготы передаются в INPUT ячейки.

9 комментариев

на карте можно слушать события (например, клик)

и в обработчике получить координаты, создать плайсмарк и вписать их в инпут

Как такое написать?))

Я просто вообще не знаю java

Я даже не представляю как это сделать...

Прикольно бы было те координаты в твоём примере не как подсказка выводить а в  INPUT вставлять... по отдельности.

это совсем не сложно

проще использовать для этого jquery

Я понимаю, что для тебя это наверное не сложно!)) Это очень даже похвально.

Я не знаю jquery я новичок....

Ты случайно не можешь написать скрипт такой программки если тебе не трудно? 

я конечно могу за тебя написать,

но думаю лучше чтобы ты сам разобрался что к чему

 

конкретно то что ты хочешь будет выглядеть примерно так

допустим у твоих инпутов id = input_lat и input_lng

YMaps.Events.observe(map, map.Events.Click, function (map, e) {
    var $ = YMaps.jQuery,    point = e.getGeoPoint(),    placemark = new YMaps.Placemark(point),    lng = point.getLng(),    lat = point.getLat();
        $('#input_lng').val(lng);    $('#input_lat').val(lat);    map.addOverlay(placemark);
});

 

 

ОГО! Я в шоке с таких как ты!))) Это просто дар! Спасибо тебе!

Я не ожидал что мне помогут... Я столько сайтов перелазил и столько много прочитал но не смог такого написать.

А как сделать так чтобы при нажатии на карту появлялась синяя метка, а при клике на другое место карты, первая метка исчезала а новая появлялась. 

 

А как сделать так чтобы при нажатии на карту появлялась синяя метка, а при клике на другое место карты, первая метка исчезала а новая появлялась. 

 

Это проще всего реализовать перемещая существующую метку или создать новую если еще ее нет

Для этого надо поменять пару строк

 

var placemark;YMaps.Events.observe(map, map.Events.Click, function (map, e) {
    var $ = YMaps.jQuery,
    point = e.getGeoPoint(),
    lng = point.getLng(),
    lat = point.getLat();

    $('#input_lng').val(lng);
    $('#input_lat').val(lat);        placemark ? placemark.setGeoPoint(point) : map.addOverlay(placemark = new YMaps.Placemark(point));});

У меня есть такой скрипт:

 и ещё

 



  • ОТКРЫТЬ ПОЛНУЮ КАРТУ



   


   

 

 СМЫСЛ этого скрипта в то, что при загрузке страници отображается только ссылка ОТКРЫТЬ ПОЛНУЮ КАРТУ

При нажатии на эту ссылку открывается карта, при повторном нажатии на ссылку карта скрывается...

 

ВСЁ работает отлично НО только из-за этого скрипта карта отображается не корректно.

ПОЧЕМУ? 

???