我想用最近发布的JavaScript API 3.0实现一个可拖动的标记.
使用旧的API非常简单.将draggable属性设置为true后,您可以在地图上移动标记.
位于[here] [1]的新API 3.0的迁移指南指出,在地图对象上启用事件并将'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
});
Run Code Online (Sandbox Code Playgroud)
我不知道如何在相应的事件中实现这种拖动功能.确定必须计算新位置,但是它会是什么样的,以便根据鼠标位置移动标记?以下代码片段需要以某种方式扩展...
marker.addEventListener('drag', function(evt) {
var coord = map.screenToGeo(evt.currentPointer.viewportX,
evt.currentPointer.viewportY);
evt.target.setPosition( coord );
});
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助,Seppal
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 "here"