标记集群在单击时不显示单个标记

时间:2015-05-06 06:38:15

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

以下代码显示了群集,但是当我单击任何群集时,它不会显示单个标记,而只是显示相同的群集。标记本身来自外部服务,它工作正常。

我也在地图上显示标记,这些标记不属于任何集群。

标记是fwtawesome标记btw,我没有在Chrome开发控制台中出现任何错误。

这是我的代码:

        dt = MyService.getviewportpoints(nelat, nelon, swlat, swlon);
        dt.then(
              function (data){
                //console.log(data);

                    if(markerArry.length >0){
                        for (var i = 0; i < markerArry.length; i++) {
                            markerArry[i].setMap(null);
                        }
                        markerArry = [];
                }

                for (var i = 0; i < data.data.pnglist.length; i++) {
                    var star = data.data.pnglist[i];

                    var myLatLng = new google.maps.LatLng(star.lat, star.lon);
                    var roto = 0;
                    if (star.marker_path == "fontawesome.markers.PLAY"){
                        roto = 270;
                    }
                    var marker = new google.maps.Marker({
                        position: myLatLng,
                          map: mapInstance,
                          icon:{
                                path: eval(star.marker_path),
                                scale: 0.2,
                                fillColor: star.marker_fillcolor,
                                fillOpacity: 0.7,
                                rotation: roto
                                }
                    });
                    markerArry.push(marker);
                    google.maps.event.addListener(marker, 'click', function () {
                        alert('info');
                    });
                }
                markerCluster = new MarkerClusterer(mapInstance, markerArry);
                });

1 个答案:

答案 0 :(得分:1)

我有同样的问题,我通过指定MarkerClusterer的maxZoom属性解决了这个问题:

var mcOptions = {maxZoom: 15};
var markerCluster = new MarkerClusterer(mapInstance, markerArry, mcOptions);

尝试不同的缩放值,看看哪种方式最适合您! 希望它有所帮助!