我正在尝试创建一个包含固定实际半径标记的地图(以米为单位)。我正在使用CIRCLE符号样式,但尝试使用缩放选项更改圆的大小似乎不太合适,因为无论缩放级别如何,它都在屏幕上保持相同的大小。
因此,例如,我可能想要在特定点使用500米半径的圆并使用:
var markerOptions = {
icon: {
path: google.maps.SymbolPath.CIRCLE,
scale: 500
},
position: new google.maps.LatLng(0, 50)
};
marker = new google.maps.Marker(markerOptions);
但是当我更改缩放时,标记大小不会改变大小,无论缩放级别如何,都保持相同的像素数。
我尝试使用google.maps.Circle作为google.maps.Marker的替代品,虽然Circle有一个半径选项,并且在缩放方面工作正常但我无法使用MarkerClusterer将它们组合在一起它们同时在屏幕上有很多,这是另一个要求。
那么如何让聚类标记组和固定大小的标记一起工作呢?
答案 0 :(得分:1)
感谢@geocodezip的建议,我看了一下MarkerClusterer的源代码,并设法让它与圈子一起进行一些调整。如果其他人需要做类似的事情,那么我对markercluster.js进行了更改:
将MarkerClusterer.prototype.pushMarkerTo_()更改为以下内容:
MarkerClusterer.prototype.pushMarkerTo_ = function (marker) {
// If the marker is draggable add a listener so we can update the clusters on the dragend:
marker.isAdded = false;
this.markers_.push(marker);
};
现在一切都可以使用google.maps.Circle和MarkerClusterer。