从外部地图集中在集群上
center on cluster from outside map
我在地图上有多个标记,我添加了以下侦听器,在单击时将标记居中。
google.maps.event.addListener(marker, 'click', (function (marker, count) {
return function () {
this.map.setCenter(marker.getPosition() as google.maps.LatLng);
}
})(marker, count));
我还有以下内容用于从地图外部以特定标记为中心:
centerFromTimeline(i){
google.maps.event.trigger(this.markers[i], 'click');
}
这一切都很好,除了当标记聚集在一起时。如果标记隐藏在集群中,则 centerFromTimeline() 将不起作用,因为 this.map 为空。有没有办法在这种情况下以集群为中心?
所以我发现你可以获取这些簇并在其中搜索你的标记。
let inCluster
let clusters = await this.markerClusterer.getClusters()
for(let cluster of clusters){
let foundMarker = cluster.markers_.find(element => element === this.markers[i]);
if (foundMarker !== undefined)
inCluster = true;
break;
}
我在地图上有多个标记,我添加了以下侦听器,在单击时将标记居中。
google.maps.event.addListener(marker, 'click', (function (marker, count) {
return function () {
this.map.setCenter(marker.getPosition() as google.maps.LatLng);
}
})(marker, count));
我还有以下内容用于从地图外部以特定标记为中心:
centerFromTimeline(i){
google.maps.event.trigger(this.markers[i], 'click');
}
这一切都很好,除了当标记聚集在一起时。如果标记隐藏在集群中,则 centerFromTimeline() 将不起作用,因为 this.map 为空。有没有办法在这种情况下以集群为中心?
所以我发现你可以获取这些簇并在其中搜索你的标记。
let inCluster
let clusters = await this.markerClusterer.getClusters()
for(let cluster of clusters){
let foundMarker = cluster.markers_.find(element => element === this.markers[i]);
if (foundMarker !== undefined)
inCluster = true;
break;
}