Я хотел бы реализовать перетаскиваемый маркер с недавно выпущенным JavaScript API 3.0.
Используя старый API, это было довольно просто. После установки для атрибута draggable значения true вы могли перемещать маркер по карте.
В руководстве по миграции для нового API 3.0, расположенном [здесь] [1], говорится, что после включения событий на объектах карты и установки для свойства 'draggable' значения 'true' должны быть реализованы соответствующие события.
marker.addEventListener('dragstart', function() {
//handle drag start here
});
marker.addEventListener('drag', function() {
//handle drag here
});
marker.addEventListener('dragend', function() {
//handle drag end here
});
Однако я не уверен, как реализовать эту функцию перетаскивания в соответствующих событиях. Конечно, новое местоположение необходимо рассчитать, но как бы оно выглядело, если бы маркер перемещался в соответствии с положением мыши? Следующий фрагмент кода нужно как-то расширить ...
marker.addEventListener('drag', function(evt) {
var coord = map.screenToGeo(evt.currentPointer.viewportX,
evt.currentPointer.viewportY);
evt.target.setPosition( coord );
});
Спасибо за вашу помощь, Сеппал
evt [1]: http://developer.here.com/documentation/download/maps_js_html5_nlp/3.0.5/Maps%20API%20for%20JavaScript%20v3.0.5%20Migration%20Guide.pdf "здесь"