Javascript 谷歌地图API v3-我可以从Marker获取内容吗?

Javascript 谷歌地图API v3-我可以从Marker获取内容吗?,javascript,google-maps-api-3,google-maps-markers,markerclusterer,Javascript,Google Maps Api 3,Google Maps Markers,Markerclusterer,我创建了很多标记,但我认为在获得用于平均和设置信息窗口的内容后,单击内部是markerCluster上所有标记的平均值 每个标记都必须给他一个值。快照 我想抓取所有标记和平均值,并显示在信息窗口中。快照: 这是我的密码: var locations = [ ['100', 22.75853,121.14886, 1], ['90', 22.7586,121.14891, 2], ['80', 22.75857,121.1488, 3], ['70', 22.75844,121.148

我创建了很多标记,但我认为在获得用于平均和设置信息窗口的内容后,单击内部是markerCluster上所有标记的平均值

每个标记都必须给他一个值。快照


我想抓取所有标记和平均值,并显示在信息窗口中。快照:

这是我的密码:

var locations = [
 ['100', 22.75853,121.14886, 1],
 ['90', 22.7586,121.14891, 2],
 ['80', 22.75857,121.1488, 3],
 ['70', 22.75844,121.14887, 4],
 ['60', 25.08389,121.57796, 5],
 ['50', 22.75839,121.14891, 6],
 ['40', 22.75831,121.14912, 7],
 ['30', 22.75838,121.14904, 8],
 ['20', 22.75856,121.14867, 9],
 ['10', 25.08229,121.57822, 10]];
var mapOptions = {
center: new google.maps.LatLng(25.048215, 121.517123), 
zoom: 7 
};
 var map = new google.maps.Map(document.getElementById('map-   canvas'),mapOptions);
var infowindow = new google.maps.InfoWindow;
var markers=[];
for (var i = 0; i < locations.length; i++) {  
var latLng = new google.maps.LatLng(locations[i][1], locations[i][2]);
var marker = new google.maps.Marker({ position: latLng });
markers.push(marker);

google.maps.event.addListener(marker, 'click', (function(marker, i) {
     return function() {
         infowindow.setContent(locations[i][0]);
         infowindow.open(map, marker);
     }
})(marker, i));


}
var clusterOptions = { zoomOnClick: false };
var markerCluster = new MarkerClusterer(map, markers,clusterOptions);

google.maps.event.addListener(markerCluster, 'clusterclick',         function(cluster) {
var content = '';
var info = new google.maps.MVCObject;
info.set('position', cluster.center_);

var allmarke = cluster.getMarkers();

var titles = "";

for(var i = 0; i < allmarke.length; i++) {
 titles = "put avage in here";
}                                        

infowindow.close();
infowindow.setContent(titles); 
infowindow.open(map, info);

});
var位置=[
['100', 22.75853,121.14886, 1],
['90', 22.7586,121.14891, 2],
['80', 22.75857,121.1488, 3],
['70', 22.75844,121.14887, 4],
['60', 25.08389,121.57796, 5],
['50', 22.75839,121.14891, 6],
['40', 22.75831,121.14912, 7],
['30', 22.75838,121.14904, 8],
['20', 22.75856,121.14867, 9],
['10', 25.08229,121.57822, 10]];
变量映射选项={
中心:新google.maps.LatLng(25.048215121.517123),
缩放:7
};
var map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
var infowindow=new google.maps.infowindow;
var标记=[];
对于(var i=0;i
  • 将自定义特性添加到包含其“值”的标记:
  • 
    
    您的代码是什么样子的?将其添加到question@duncan我添加我的代码!天哪!谢谢你,这对我帮助很大!非常感谢你。编辑我的问题并回答我的问题!;)这晚了一年左右,但平均数计算错了。。它们应该是
    (total/(allmarke.length))
    ,而不是
    (total/(allmarke.length-1))
    。修正错误永远不会太迟。更新了fiddle链接(在评论中没有注意到您的链接)和代码段。谢谢
    for (var i = 0; i < locations.length; i++) {
      var latLng = new google.maps.LatLng(locations[i][1], locations[i][2]);
      var marker = new google.maps.Marker({
        position: latLng,
        _myValue: locations[i][0]  // <-- custom property
      });
      markers.push(marker);
    
      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }
    
      var total = 0;
      for (var i = 0; i < allmarke.length; i++) {
        total += parseFloat(allmarke[i]._myValue);
      }
      titles = "avg " + (total / (allmarke.length)).toFixed(2);
    
      infowindow.close();
      infowindow.setContent(titles);
      infowindow.open(map, info);