在Google地图中,带有Infowindows的多个标记不合适

时间:2014-09-29 09:06:19

标签: javascript google-maps google-maps-api-3

我在谷歌地图上显示了多个标记,信息点点击标记。

但我没有在标记的顶部获得信息。实际上它正在谷歌地图上的其他地方显示。

另一个问题是重叠标记。只显示一个infowindows。

我的代码在这里:http://jsfiddle.net/u758rqpa/11/

marker = new google.maps.Marker({
        position: new google.maps.LatLng(markerArray[i][2], markerArray[i][1]),
        map: map,
        icon: {
            path: 'M76,76L115.83716857408419,53A46,46,0,0,1,121.748,80.8083L76,76A0,0,0,0,0,76,76',
            fillColor: color[i],
            fillOpacity: 1,
            strokeColor: '',
            strokeWeight: 0,
            scale: 0.9,
            rotation: 280 + markerArray[i][3],
        },
    });

那么,我该如何解决这些问题呢。请帮帮我!!

2 个答案:

答案 0 :(得分:0)

显然您的信息窗口已被转移,因此要解决此问题,您可以在此处添加新选项pixelOffset,您可以找到有关该选项的更多信息:InfoWindowOptions

基本上我通过在您的代码中添加此选项来解决您的问题:

pixelOffset: new google.maps.Size(0, +50)

在这里,您可以看到我的快速修复:DEMO

对于您的重叠问题,我建议您使用此问题:OverlappingMarkerSpiderfier

它解决了我所有的重叠问题

答案 1 :(得分:0)

看一下这个例子:

JSFiddle demo

我创建了一个类似的切片符号,并将其对齐在画布的左上角。我也添加了锚点:

icon: {
    path: 'm 32.460621,0.112468 -32.372233,-0.022 0,-0.088 L 0,0.090468 l 22.91468,22.9147 c 0.02205,-0.022 0.04437,-0.044 0.06629,-0.066 6.300656,-6.3007 9.451842,-14.5699 9.47965,-22.8263 z',

    fillColor: color[i],
    fillOpacity: 1,
    strokeColor: '',
    strokeWeight: 0,
    rotation: 280 + markerA[i][3],
    anchor: new google.maps.Point(0, 0)
}

我添加了一个标准标记供参考,这样您就可以看到真实坐标的位置以及符号在地图上的相对位置。希望这会有所帮助。