2014-11-21 112 views
0

的问题是关于谷歌地图的轨道上谷歌地图集群,richamaker

喜逢,我是谷歌地图的纽比集群和richmarker的红宝石。 最近我发展与Ruby on Rails的Web应用程序, 我昨天发现了一个重要的问题,这是我的javascript:

//Build initialize Gmap and build markers on it 
 
//initialize array 
 
var map_infos = []; 
 
//receive marker data from controller 
 
map_infos = gon.map_infos; 
 

 
function initialize() { 
 
    var mapOptions = { 
 
     zoom: 8, 
 
     center: new google.maps.LatLng(25.026, 121.523) 
 
    }; 
 

 
    var map = new google.maps.Map(document.getElementById('map'), mapOptions); 
 

 
//rmarker setting 
 
    var rmarkers = []; 
 
    for(var i = 0; i < map_infos.length; i++){ 
 
    var rmarker = new RichMarker({ 
 
     position: new google.maps.LatLng(
 
      map_infos[i]["marker_lat"], 
 
      map_infos[i]["marker_lng"] 
 
     ), 
 
     content: '<div class="marker_background"><img src="'+map_infos[i]["friend_icon"]+'" class="friend_icon" /></div>', 
 
     map: map 
 
    }).setShadow('5px -3px 3px #555'); 
 
    rmarkers.push(rmarker); 
 
    } 
 
    var markerCluster = new MarkerClusterer(map, rmarkers); 
 
} 
 

 
google.maps.event.addDomListener(window, 'load', initialize);

但在上述集群功能的情况下无法正常工作! 它仍然显示每一个标记!

所以我改变richmarker到谷歌的默认标记象下面这样:

var rmarker = new google.maps.Marker({ 
 
    for(var i = 0; i < map_infos.length; i++){ 
 
    var marker = new google.maps.Marker({ 
 
     position: new google.maps.LatLng(
 
     map_infos[i]["marker_lat"], 
 
     map_infos[i]["marker_lng"] 
 
    ), 
 
    map: map 
 
    }); 
 
    markers.push(marker); 
 
    } 
 
    var markerCluster = new MarkerClusterer(map, rmarkers); 
 
});

集群的作品吧!

所以问题是:

我怎么能用户richmarker和集群在此期间?

感谢您的阅读和considerating

+0

设置'gridSize'到聚类器有差别? – 2014-11-21 20:49:12

+0

我试图将60(默认)调整到1200并降低到2,它仍然不起作用... 还是谢谢你的回答:D – fung 2014-11-22 07:51:54

回答

0

我只是试图做同样的事情,得到它通过使用下面的代码工作的第一次(在角,但应该足以类似于你),也许你需要将更多属性传递给RichMarker?

$scope.dynMarkers.push(
      new RichMarker({ 
         map: $scope.map, 
         position: position, 
         draggable: false, 
         flat: true, 
         anchor: RichMarkerPosition.MIDDLE, 
         content: '<div>some map marker</div>', 
        })); 

则:

$scope.markerClusterer = new MarkerClusterer($scope.map, $scope.dynMarkers, { 
      gridSize: 25 
     }); 
+0

我要试一试。谢啦。 – fung 2015-10-10 07:26:50