gpt4 book ai didi

google-maps - 年度股东大会 map : set the zoom level to include all markers

转载 作者:行者123 更新时间:2023-12-03 23:29:05 26 4
gpt4 key购买 nike

要将 map 缩放级别设置为包含所有位置标记,我尝试了 this post 中建议的两个选项。
这是我所做的:

export class LocationSelectionComponent implements OnInit, AfterViewInit {

@ViewChild('AgmMap') agmMap: AgmMap;

ngAfterViewInit() {
console.log(this.agmMap);
this.agmMap.mapReady.subscribe(map => {
const bounds: LatLngBounds = new window['google'].maps.LatLngBounds();
for (const mm of this.mapMarkers) {
if (mm.latitude !== this.currentLocationLatitude && mm.longitude !== this.currentLocationLongitude) {
bounds.extend(new window['google'].maps.LatLng(mm.latitude, mm.longitude));
}
}

map.fitBounds(bounds);
});
}
}
请注意, this.mapMarkers 是一个数组,其中包含 map 标记的坐标。这些填充在 ngOnInit() 中。
正如上面帖子的评论中提到的,我还尝试了以下方法:
onMapReady(map: AgmMap) {
const bounds: LatLngBounds = new window['google'].maps.LatLngBounds();
for (const mm of this.mapMarkers) {
if (mm.latitude !== this.currentLocationLatitude && mm.longitude !== this.currentLocationLongitude) {
bounds.extend(new window['google'].maps.LatLng(mm.latitude, mm.longitude));
}
}

// @ts-ignore
map.fitBounds(bounds);
}
然后在 HTML 中:
  <agm-map #AgmMap [latitude]="latitude" [longitude]="longitude"
[fullscreenControl]="true" [mapTypeControl]="true" (mapReady)="onMapReady($event)">
<agm-marker *ngFor="let m of mapMarkers; let i = index"
[latitude]="m.latitude"
[longitude]="m.longitude"
[title]="m.title"
[iconUrl]="m.iconUrl"
[animation]="m.animation"
(markerClick)="clickedMarker(m.label)">
</agm-marker>
</agm-map>
但在这两种情况下,我都没有像预期的那样缩小 map 。原因是,当我调试代码时,这两种情况下的 mapMarkers 数组都是空的。我该如何解决?

最佳答案

[fitBounds]="true" 添加到 <agm-map>[agmFitBounds]="true" 添加到 <agm-marker>
[usePanning]="true" 中删除 <agm-map>
为了更多的可用性添加集群:
install this module and follow the instructions

关于google-maps - 年度股东大会 map : set the zoom level to include all markers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53942289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com