这个让我难过,我希望第二眼能指出问题所在。我意识到我的抽象库增加了许多额外的复杂性,但我认为其他人可能已经在他们的实现中看到了类似的东西。我也尝试将其归结为尽可能简单且有针对性的案例。
问题是,无法拖动通过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
和其他一些元素,但这似乎不会导致问题非常感谢任何帮助!
更新:奇怪。添加draggable: true
的标记似乎不可点击。但是,如果添加标记而未指定draggable: true
,则它似乎可以点击。看起来这可能是相关的。
更新2 :对我使用draggable: true
创建并添加到地图的标记的第一次更新后续跟踪:事件无法正常工作。您可以在创建标记后运行以下代码来测试它:
google.maps.event.addListener(marker, 'click', function(e) {
console.log(e);
});
答案 0 :(得分:1)
想出来。我正在做这样的事情来破解一些默认的谷歌地图控件:
var els = document.getElementsByClassName('gmnoprint');
for (var i = 0; i < els.length; i++) {
els[i].style.display = 'none';
}
这在过去没有影响可拖动标记,但Google必须在Maps API中进行了更改,并开始将gmnoprint
类添加到可拖动标记中。哦,这就是我在文档化的API之外所能获得的。