这个让我很困惑,我希望第二双眼睛能够指出问题所在。我意识到我的抽象库增加了很多额外的复杂性,但我在想其他人可能在他们的实现中看到了类似的东西。我还尝试将其归结为尽可能简单和有针对性的案例。
问题是无法拖动通过 Google Maps API 创建并添加到地图并设置为可拖动的标记。这曾经工作得很好,但是我在图书馆某处所做的改变破坏了这个功能。要重现,请转到http://www.nps.gov/npmap/support/library/examples/map-defaults.html?api=google,然后将以下代码粘贴到浏览器 Web 开发控制台中:
var marker = new google.maps.Marker({
position: NPMap.Map.Google.map.getCenter(),
draggable: true,
map: NPMap.Map.Google.map
});
标记应该是可拖动的,但事实并非如此。
几点注意事项:
- 标记仍然是可点击的,并且似乎所有标记事件(鼠标悬停等)都正常工作
- 添加到地图中的线和多边形作为可编辑工作正常
- 我玩过
z-index
地图 div 和其他一些元素,但这似乎并没有导致问题 - 我正在加载当前版本的 Google Maps API v3.11。我已经用冻结版本 3.10 和实验版本 v3.12 进行了测试,但无论加载哪个版本,问题仍然存在。
任何帮助是极大的赞赏!
更新:奇怪。添加的标记draggable: true
似乎不可点击。但是,如果在没有指定的情况下添加标记draggable: true
,它似乎是可点击的。似乎这可能是相关的。
更新 2:我第一次更新的后续行动:事件不适draggable: true
用于使用创建并添加到地图的标记。您可以在创建标记后运行以下代码进行测试:
google.maps.event.addListener(marker, 'click', function(e) {
console.log(e);
});