【发布时间】:2014-09-26 11:53:11
【问题描述】:
我想用最近发布的 JavaScript API 3.0 实现一个可拖动的标记。
使用旧 API 非常简单。将 draggable 属性设置为 true 后,您可以在地图上移动标记。
位于 [此处][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
});
我不确定如何在相应的事件中实现此拖动功能。确实必须计算新位置,但是根据鼠标位置移动标记会是什么样子?以下代码 sn-p 需要以某种方式扩展...
marker.addEventListener('drag', function(evt) {
var coord = map.screenToGeo(evt.currentPointer.viewportX,
evt.currentPointer.viewportY);
evt.target.setPosition( coord );
});
感谢您的帮助, 隔壁
【问题讨论】:
标签: javascript here-api