在 Google 地图中的聚类器上单击错误
Click error on a clusterer within a Google Map
我正在尝试在 Google 地图 (v3) 中处理 MarkerClusterer
(v1.0) 上的点击事件,以便放大聚类器的中心。
问题
当用户点击集群器时,显示以下错误:
Uncaught TypeError: Cannot read property '0' of undefined
at Cluster.getBounds (markerclusterer.js:903)
at ClusterIcon.triggerClusterClick (markerclusterer.js:1057)
at HTMLDivElement. (markerclusterer.js:1082)
Cluster.getBounds @ markerclusterer.js:903
ClusterIcon.triggerClusterClick @ markerclusterer.js:1057
(anonymous) @ markerclusterer.js:1082
此行出现在 MarkerClusterer
的函数 getBounds()
中,似乎与此错误有关:
for (var i = 0, marker; marker = markers[i]; i++) {
来源
map = new google.maps.Map(document.getElementById('storemap'), {
center: {lat: parseFloat(defaultLat), lng: parseFloat(defaultLong)},
disableDefaultUI:false,
fullscreenControl:false,
streetViewControl:true,
zoom: 8,
styles : mapstyles
});
mc = new MarkerClusterer(map, markers, {styles: clusterStyles});
google.maps.event.addListener(mc, 'clusterclick', function(cluster){
map.setCenter(cluster.getCenter());
map.setZoom(map.getZoom()+3);
});
我的问题
当用户点击集群器时如何修复错误?
您不需要在标记集群上添加自定义 clusterclick
事件。
删除 clusterclick
侦听器。
google.maps.event.addListener(mc, 'clusterclick', function(cluster){
map.setCenter(cluster.getCenter());
map.setZoom(map.getZoom()+3);
});
保留MarkerClusterer初始化代码即可。
mc = new MarkerClusterer(map, markers, {styles: clusterStyles});
当您点击集群时,它会自动放大并以集群为中心。你可以找到MarkerClusterer Example while illustrates same.
我正在尝试在 Google 地图 (v3) 中处理 MarkerClusterer
(v1.0) 上的点击事件,以便放大聚类器的中心。
问题
当用户点击集群器时,显示以下错误:
Uncaught TypeError: Cannot read property '0' of undefined
at Cluster.getBounds (markerclusterer.js:903)
at ClusterIcon.triggerClusterClick (markerclusterer.js:1057)
at HTMLDivElement. (markerclusterer.js:1082)
Cluster.getBounds @ markerclusterer.js:903
ClusterIcon.triggerClusterClick @ markerclusterer.js:1057 (anonymous) @ markerclusterer.js:1082
此行出现在 MarkerClusterer
的函数 getBounds()
中,似乎与此错误有关:
for (var i = 0, marker; marker = markers[i]; i++) {
来源
map = new google.maps.Map(document.getElementById('storemap'), {
center: {lat: parseFloat(defaultLat), lng: parseFloat(defaultLong)},
disableDefaultUI:false,
fullscreenControl:false,
streetViewControl:true,
zoom: 8,
styles : mapstyles
});
mc = new MarkerClusterer(map, markers, {styles: clusterStyles});
google.maps.event.addListener(mc, 'clusterclick', function(cluster){
map.setCenter(cluster.getCenter());
map.setZoom(map.getZoom()+3);
});
我的问题
当用户点击集群器时如何修复错误?
您不需要在标记集群上添加自定义 clusterclick
事件。
删除 clusterclick
侦听器。
google.maps.event.addListener(mc, 'clusterclick', function(cluster){
map.setCenter(cluster.getCenter());
map.setZoom(map.getZoom()+3);
});
保留MarkerClusterer初始化代码即可。
mc = new MarkerClusterer(map, markers, {styles: clusterStyles});
当您点击集群时,它会自动放大并以集群为中心。你可以找到MarkerClusterer Example while illustrates same.