【发布时间】:2016-06-02 16:28:01
【问题描述】:
我正在使用markerCluster,效果很好。
这是它如何使用 2 个标记的代码:
window.onload = function() {
// cluster marker
var clusterMarker = [];
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng( 50, 3),
zoom: 6,
mapTypeId: 'terrain'
});
// Some sample data
var sampleData = [{lat:50, lng:3}, {lat:50, lng:3.02}];
for (var i = 0; i < sampleData.length; i ++) {
var point = sampleData[i];
var location = new google.maps.LatLng(point.lat, point.lng);
// create marker at location
var marker = new google.maps.Marker({
position: location,
map: map
});
// needed to cluster marker
clusterMarker.push(marker);
}
new MarkerClusterer(map, clusterMarker, {imagePath: 'images/m', maxZoom: 15});
}
以及不同缩放级别的结果:
如果我缩小,markerCluster 会计算一个区域中的标记数。我想改变它,使一些标记代表多个人。因此,如果我有一个代表 21 人的大标记和一个代表 1 人的第二个标记,那么如果我缩小我希望看到蓝色标记上的数字 22,大标记上应该有 21。有这样的可能吗?
【问题讨论】:
-
你能附上你现在拥有的截图,以及你希望它是什么样子吗?如果您也在这里添加一些代码也可能会有所帮助
-
@duncan 我添加了图片和代码,希望现在更清楚了。
-
您可能希望将 MarkerClusterer 与 MarkerWithLabel 之类的东西结合使用来为标记添加标签:npmjs.com/package/markerwithlabel
标签: javascript google-maps-api-3 markerclusterer