Если Яндекс то [url]http://api.yandex.ru/maps/doc/jsapi/2.x/examples/mapeventsballoon.html[/url]
[CODE] // Как только будет загружен API и готов DOM, выполняем инициализацию
ymaps.ready(init);
function init () {
var myMap = new ymaps.Map("map", {
// Первичная центровка
center: [20.582821, 54.707826], // Офис Битрикса в Калининграде где-то тут
zoom: 11
}, {
balloonMaxWidth: 200
});
// Обработка события, возникающего при щелчке
// левой кнопкой мыши в любой точке карты.
// При возникновении такого события откроем балун.
myMap.events.add('click', function (e) {
if (!myMap.balloon.isOpen()) {
var coords = e.get('coordPosition');
// Вот тут заполняйте нужный вам input в форме координатами
// Или отправляйте AJAX, как вам больше нравится
// У Яндекса сначала долгота --> coords[0].toPrecision(4)
// Потом широта --> coords[1].toPrecision(4)
// Почти у всех остальных Картографических сервисов наоборот.
// Точности по опыту хватает до 4 знаков
myMap.balloon.open(coords, {
contentHeader: 'Событие!',
contentBody: '
'
contentFooter: '<sup>Щелкните еще раз</sup>'
});
} else {
myMap.balloon.close();
}
});
// Обработка события, возникающего при щелчке
// правой кнопки мыши в любой точке карты.
// При возникновении такого события покажем всплывающую подсказку.
myMap.events.add('contextmenu', function (e) {
myMap.hint.show(e.get('coordPosition'), 'Кто-то щелкнул правой кнопкой');
});
}[/CODE]
Вставляете в script.js компонента, где инициализируется карта или прямо в тело страницы с компонентом.
[CODE] // Как только будет загружен API и готов DOM, выполняем инициализацию
ymaps.ready(init);
function init () {
var myMap = new ymaps.Map("map", {
// Первичная центровка
center: [20.582821, 54.707826], // Офис Битрикса в Калининграде где-то тут
zoom: 11
}, {
balloonMaxWidth: 200
});
// Обработка события, возникающего при щелчке
// левой кнопкой мыши в любой точке карты.
// При возникновении такого события откроем балун.
myMap.events.add('click', function (e) {
if (!myMap.balloon.isOpen()) {
var coords = e.get('coordPosition');
// Вот тут заполняйте нужный вам input в форме координатами
// Или отправляйте AJAX, как вам больше нравится
// У Яндекса сначала долгота --> coords[0].toPrecision(4)
// Потом широта --> coords[1].toPrecision(4)
// Почти у всех остальных Картографических сервисов наоборот.
// Точности по опыту хватает до 4 знаков
myMap.balloon.open(coords, {
contentHeader: 'Событие!',
contentBody: '
Кто-то щелкнул по карте.
' +'
Координаты щелчка: ' + [
coords[0].toPrecision(4),
coords[1].toPrecision(4)
].join(', ') + '
contentFooter: '<sup>Щелкните еще раз</sup>'
});
} else {
myMap.balloon.close();
}
});
// Обработка события, возникающего при щелчке
// правой кнопки мыши в любой точке карты.
// При возникновении такого события покажем всплывающую подсказку.
myMap.events.add('contextmenu', function (e) {
myMap.hint.show(e.get('coordPosition'), 'Кто-то щелкнул правой кнопкой');
});
}[/CODE]
Вставляете в script.js компонента, где инициализируется карта или прямо в тело страницы с компонентом.