问题描述
我使用的代码在这里找到:
我在Firebug中遇到错误:
错误:TypeError:markers is undefined
并且无法计算出导致它的原因。具体的代码是:
var minClusterZoom = 14;
mc.setMaxZoom(minClusterZoom);
gm.event.addListener(mc,'clusterclick',function(cluster){
map.fitBounds(cluster.getBounds()); //适合点击
的集群边界如果(map.getZoom()> minClusterZoom + 1)//如果放大过去15(第一级没有集群),缩小到15
map.setZoom(minClusterZoom + 1);
}) ;
非常感谢任何帮助。
- Tom
我采用了不同的方法:并编辑MarkerClusterer来源如下
从
/ **
*如果设置了该选项,则触发clusterclick事件和缩放。
* /
ClusterIcon.prototype.triggerClusterClick = function(){
var markerClusterer = this.cluster_.getMarkerClusterer();
//触发clusterclick事件。
google.maps.event.trigger(markerClusterer,'clusterclick',this.cluster_);
if(markerClusterer.isZoomOnClick()){
//放大集群。
this.map_.fitBounds(this.cluster_.getBounds());
}
}; b
code> / **
*如果设置了该选项,则触发clusterclick事件和缩放。
* /
ClusterIcon.prototype.triggerClusterClick = function(){
var markerClusterer = this.cluster_.getMarkerClusterer();
//触发clusterclick事件。
google.maps.event.trigger(markerClusterer,'clusterclick',this.cluster_);
if(markerClusterer.isZoomOnClick()){
//放大集群。
this.map_.fitBounds(this.cluster_.getBounds());
//修改放大函数
if(this.map_.getZoom()> markerClusterer.getMaxZoom()+ 1)
this.map_.setZoom(markerClusterer.getMaxZoom ()+1);
}
};
I'm using code found here: Integrating Spiderfier JS into markerClusterer V3 to explode multi-markers with exact same long / lat to restrict zoom levels when clicking on MarkerClusterer created clusters containing points at the same location.
Live example is here: http://www.adultlearnersfestival.com/newsite/yourarea/map.html
I'm getting an error in Firebug however:
Error: TypeError: markers is undefined
and can't work out what's causing it. The specific code is:
var minClusterZoom = 14;
mc.setMaxZoom(minClusterZoom);
gm.event.addListener(mc, 'clusterclick', function(cluster) {
map.fitBounds(cluster.getBounds()); // Fit the bounds of the cluster clicked on
if( map.getZoom() > minClusterZoom+1 ) // If zoomed in past 15 (first level without clustering), zoom out to 15
map.setZoom(minClusterZoom+1);
});
Any help much appreciated.- Tom
I took a different approach suggested here: markerClusterer on click zoom and edited the MarkerClusterer source as follows
from this
/**
* Triggers the clusterclick event and zoom's if the option is set.
*/
ClusterIcon.prototype.triggerClusterClick = function() {
var markerClusterer = this.cluster_.getMarkerClusterer();
// Trigger the clusterclick event.
google.maps.event.trigger(markerClusterer, 'clusterclick', this.cluster_);
if (markerClusterer.isZoomOnClick()) {
// Zoom into the cluster.
this.map_.fitBounds(this.cluster_.getBounds());
}
};
to this
/**
* Triggers the clusterclick event and zoom's if the option is set.
*/
ClusterIcon.prototype.triggerClusterClick = function() {
var markerClusterer = this.cluster_.getMarkerClusterer();
// Trigger the clusterclick event.
google.maps.event.trigger(markerClusterer, 'clusterclick', this.cluster_);
if (markerClusterer.isZoomOnClick()) {
// Zoom into the cluster.
this.map_.fitBounds(this.cluster_.getBounds());
// modified zoom in function
if( this.map_.getZoom() > markerClusterer.getMaxZoom()+1 )
this.map_.setZoom(markerClusterer.getMaxZoom()+1);
}
};
这篇关于在Google Maps API v3中使用MarkerClusterer限制缩放级别时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!