Javascript 如何在谷歌地图中点击markercluster就可以获得所有的PIN/标记?

Javascript 如何在谷歌地图中点击markercluster就可以获得所有的PIN/标记?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在使用GoogleMapsAPI创建一个带有集群的商店定位器,我指的是 我想获得markercluster中的商店列表,而不是返回带有PIN/标记的标记集群。请查找以下代码- google.maps.event.addListener(mapsCore.mapsVar.markerCluster, 'clusterclick', function(cluster) { var content = ""; // Convert lat/long

我正在使用GoogleMapsAPI创建一个带有集群的商店定位器,我指的是

我想获得markercluster中的商店列表,而不是返回带有PIN/标记的标记集群。请查找以下代码-

google.maps.event.addListener(mapsCore.mapsVar.markerCluster, 'clusterclick', function(cluster) {
            var content = "";

            // Convert lat/long from cluster object to a usable MVCObject
            var info = new google.maps.MVCObject;
            info.set('position', cluster.center_);
            //----
            //Get markers
            console.log(cluster.getSize());
            var markers = cluster.getMarkers();
            var x = {};
            $(mapsCore.mapsVar.totalResults.Result).each(function(k, v) {
                $(markers).each(function(km, vm) {
                    if (parseFloat(v.LAT) == parseFloat(markers[km].position.lat()) && parseFloat(v.LON) == parseFloat(markers[km].position.lng())) {
                        // locArr[k] = { lat: parseFloat(v.CounterLatitude), lng: parseFloat(v.CounterLongitude) };
                        x.Counter_ID = v.Counter_ID;
                        x.Counter_Name = v.Counter_Name;
                        x.Counter_Zip_code = v.Counter_Zip_code;
                        x.Address_1 = v.Address_1;
                        x.Address_2 = v.Address_2;
                        x.Province = v.Province;
                        x.City = v.City;
                        x.Area = v.Area;
                        x.SubArea = v.SubArea;
                        x.Counter_Tel = v.Counter_Tel;
                        x.Counter_Email = v.Counter_Email;
                        x.Open_Time = v.Open_Time;
                        x.Close_Time = v.Close_Time;
                        x.LAT = v.LAT;
                        x.LON = v.LON;
                        x.MR_FLG = v.MR_FLG;
                        mapsCore.mapsVar.clusterDetail.Results.push(x);
                        x = {};
                    }
                });
            });
        });

作为一种解决方法,您可以将自定义图像设置为透明png,将文本大小设置为0,这样它在地图上就不可见了

cluster.setStyles({
  url: your_path/transparent.png,
  height: 20,
  width: 20,
  textSize: 0
});
或者,您可以尝试查看将图像高度和宽度设置为0是否有效。

All

感谢您对我的代码和注释进行格式化的帮助,我找到了解决方案。我会附上下面的代码尖刺

google.maps.event.addListener(mapsCore.mapsVar.markerCluster,'clusterclick',函数(集群){ var内容=“”

始终需要重置对象数组,如-


mapsCore.mapsVar.clusterDetail.Counters.length=0;

我只是想澄清一下,当你点击一个集群时,你想获得与构成该集群的标记相关的所有数据吗?是的,我想列出集群中的所有标记你提供的代码有什么问题吗?谢谢你的代码,我想你可能还不明白我的问题。
            // Convert lat/long from cluster object to a usable MVCObject
            var info = new google.maps.MVCObject;
            info.set('position', cluster.center_);
            //----
            //Get markers
            console.log(cluster.getSize());
            var markers = cluster.getMarkers();
            var x = {};
            mapsCore.mapsVar.clusterDetail.Counters.length = 0;
            $(mapsCore.mapsVar.totalResults.Counters).each(function(k, v) {
                $(markers).each(function(km, vm) {
                    console.log(parseFloat(v.CounterLatitude) == parseFloat(vm.position.lat()) && parseFloat(v.CounterLongitude) == parseFloat(vm.position.lng()));
                    if (parseFloat(v.CounterLatitude) == parseFloat(vm.position.lat())) {
                        // locArr[k] = { lat: parseFloat(v.CounterLatitude), lng: parseFloat(v.CounterLongitude) };
                        x.CounterCode = v.CounterCode;
                        x.CounterName = v.CounterName;
                        x.CounterZipCode = v.CounterZipCode;
                        x.AddressLine1 = v.AddressLine1;
                        x.AddressLine2 = v.AddressLine2;
                        x.Province = v.Province;
                        x.City = v.City;
                        x.Area = v.Area;
                        x.SubArea = v.SubArea;
                        x.CounterPhoneNumber = v.CounterPhoneNumber;
                        x.CounterEmailAddress = v.CounterEmailAddress;
                        x.CounterOpenTime = v.CounterOpenTime;
                        x.CounterCloseTime = v.CounterCloseTime;
                        x.CounterLatitude = v.CounterLatitude;
                        x.CounterLongitude = v.CounterLongitude;
                        x.IsMagicRingAvailable = v.IsMagicRingAvailable;
                        mapsCore.mapsVar.clusterDetail.Counters.push(x);
                        x = {};
                    }
                });
            });
            console.log(mapsCore.mapsVar.clusterDetail);
            var template = $.templates("#mapslist");
            var output = template.render(mapsCore.mapsVar.clusterDetail);
            $(".store-list-section").html(output);
        });