Google maps api 3 无法拖动设置为可拖动的标记

Google maps api 3 无法拖动设置为可拖动的标记,google-maps-api-3,Google Maps Api 3,这一次让我感到困惑,我希望第二双眼睛能够指出问题所在。我意识到我的抽象库增加了很多额外的复杂性,但我想其他人可能已经在他们的实现中看到了类似的东西。我还试图将其归结为尽可能简单和有针对性的案例 问题是,无法拖动通过Google Maps API创建并添加到地图并设置为可拖动的标记。这过去工作得很好,但是我在库中的某个地方做的一个更改破坏了这个功能。要复制,请转到,然后在浏览器web开发控制台中粘贴以下代码: var marker = new google.maps.Marker({ posi

这一次让我感到困惑,我希望第二双眼睛能够指出问题所在。我意识到我的抽象库增加了很多额外的复杂性,但我想其他人可能已经在他们的实现中看到了类似的东西。我还试图将其归结为尽可能简单和有针对性的案例

问题是,无法拖动通过Google Maps API创建并添加到地图并设置为可拖动的标记。这过去工作得很好,但是我在库中的某个地方做的一个更改破坏了这个功能。要复制,请转到,然后在浏览器web开发控制台中粘贴以下代码:

var marker = new google.maps.Marker({
  position: NPMap.Map.Google.map.getCenter(),
  draggable: true,
  map: NPMap.Map.Google.map
});
标记应该是可拖动的,但不是

请注意:

  • 标记仍然可以单击,而且似乎所有标记事件(鼠标悬停等)都正常工作
  • 作为可编辑对象添加到地图的直线和多边形可以正常工作
  • 我已经使用了map div的
    z-index
    和一些其他元素,但这似乎并没有造成问题
  • 我正在加载谷歌地图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);
});

我明白了。我这样做是为了破解一些默认的谷歌地图控件:

var els = document.getElementsByClassName('gmnoprint');

for (var i = 0; i < els.length; i++) {
  els[i].style.display = 'none';
}
var els=document.getElementsByClassName('gmnoprint');
对于(变量i=0;i

这在过去并没有影响到可拖动的标记,但谷歌必须对地图API进行了更改,并开始向可拖动标记添加
gmnoprint
类。哦,好吧,这就是我在文档API之外得到的东西。

可拖动标记在当前版本和实验版本中都适用。你的链接对我不起作用,所以我看不到你代码的其余部分。是的,我们目前显然有CDN问题(时机很好,对吧?)。我会试着在别的地方找一个例子,它又回来了。至少目前是这样。在哪个浏览器中发生此问题?在firefox上试用过,该标记可以拖动,并且可以响应点击事件。我在firefox、Chrome和Safari OS X上看到了这个问题。