Я не уверен, используете ли вы jQuery UI или нет, но я бы порекомендовал использовать эту библиотеку, поскольку она упростит процесс создания перетаскиваемого элемента DOM и поиска позиции для элемента.
В этом примере используется jQuery UI , чтобы найти координаты Div Pixel перетаскиваемого элемента после его перемещения.
Используя jQuery UI - мы собираемся сделать пару вещей:
- Сделать элемент перетаскиваемым
- Создать прослушиватель событий, когда перетаскивание элемента остановилось
Передать позицию элемента после перемещения элемента в другую функцию с именем 'createMarker', где мы создадим наш маркер
$("#dragMe").draggable({
stop:function(event,ui){
window.createMarker(ui.position);
}
});
Create Marker будет отвечать за следующие действия:
- Получите левую и верхнюю позиции нашего перетаскиваемого элемента
- Рассчитать эквивалентную точку GLatLng для этой точки, принимая во внимание смещение нашей карты
Создайте маркер и добавьте его на карту
function createMarker(position)
{
//Adjust Offset
var offset = {
left:10,
top:-5
}
//Create a new GPoint
var myGPoint = new GPoint(
position.left+offset.left,
position.top+offset.top
);
//Calculate the LatLng for this point
var myLatLng = map.fromDivPixelToLatLng(myGPoint);
//Create the Marker and add it to the Map
var marker = new GMarker(myLatLng);
map.addOverlay(marker);
}
Я также создал рабочий пример этого кода , расположенный здесь . Будьте уверены, и дайте мне знать, если у вас есть какие-либо вопросы, я надеюсь, что это поможет!
:)