0

出于某种原因,谷歌地图的 dragend 触发器对我不起作用。请参阅http://jsfiddle.net/wzcst/399/上的代码行 140-143

google.maps.event.trigger(markerA, 'dragend', function() {
    latLngA = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng());
    noteA.text(bounds.contains(latLngA));
});

我想要完成的是根据输入到 geocorder 表单字段的位置更新标记 A。例如:在表单字段中尝试“匹兹堡,堪萨斯州”。它应该在那里重新定位标记 A,但它没有。

有什么想法吗?

4

1 回答 1

1

代码在触发事件和添加侦听器函数之间存在混淆。但是,我怀疑您想要的只是设置标记的位置:

markerA.setPosition(results[0].geometry.location);

要触发 dragend 事件,您需要传递 MouseEvent 而不是函数,尽管我想不出使用它的理由:

var mouseEvent1 = {
  stop: null,
  latLng: results[0].geometry.location
}
google.maps.event.trigger(markerA, 'dragend', mouseEvent1);
于 2017-04-25T21:24:24.363 回答