Google Maps V3 API 中的“drag”、“dragstart”和“dragend”事件分别将 mouseEvent 传递给已注册的回调函数。
但是 - 此事件不包含有关哪个标记 被拖动的任何信息。我该如何确定?
如果您只查看“dragend”事件,这会更加复杂 - 它只有新坐标,甚至无法从坐标推断。
我假设必须有一种简单的方法来确定正在拖动哪个标记...
最佳答案
我会在创建时使用监听器将拖动事件附加到标记。
google.maps.event.addListener(marker, 'dragend', function() {
//do something with the event.
});
这是一个 fiddle 示例:http://jsfiddle.net/2YQg6/10/ (不要介意我刚刚编辑了一个我以前用来处理可拖动标记的 fiddle 的其他东西。)
相关代码在标记创建循环中:
//geo code and build markers for each list item.
for (var i = 0; i < $listItems.length; i++) {
geocoder.geocode({
'address': $($listItems[i]).text()
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
draggable: true,
originalPos: results[0].geometry.location
});
google.maps.event.addListener(marker, 'dragend', function() {
infoWindow.setContent("marker originally at this position: " + this.originalPos + " was dragged to: " + this.position);
infoWindow.open(map, this);
});
markers.push(marker);
}
});
}
https://stackoverflow.com/questions/7366595/
相关文章:
maven-2 - Maven : Could not transfer artifact Erro
csv - 如何使用 RSqlite 将 sqlite 导出为 CSV?
jsf - 如何注入(inject)不同的子类作为 ManagedProperty JSF 2?
python - os.walk 某些文件类型到现有的 ZipFile?
python - 在 Matplotlib 中设置颜色图的范围
xml - Spring:java.util.Locale 类型的 bean 的 Autowirin
python - 如何在 setup.py 中为 cython 设置 sysroot