角度Google Maps如何将某个国家/地区的群集分组到某个缩放以上

问题描述

我需要将国家/地区的群集分组(因此,一个群集的所有标记用于法国,一个群集的所有标记用于意大利等)在4级缩放以上。如果单击群集,则缩放必须最大为5,​​并且国家/地区的中心为最大,同样,如果我缩放时没有单击某些行为,但具有正常的缩放中心,则为

我使用两个不同的agm-map和不同的逻辑来创建标记,从而获得了结果,但是我不喜欢这种解决方案,而且效果也不佳。在下面是我的代码

<div *ngIf="selectedZoom > 4">
    <agm-map [scrollwheel]="false" minZoom="4" [latitude]="startingLat" [longitude]="startingLng" [zoom]="startingZoom" (centerChange)="onCenterChange($event)" (zoomChange)="onZoomChange($event)">
      <agm-marker-cluster imagePath="https://raw.githubusercontent.com/googlemaps/v3-utility-library/master/markerclustererplus/images/m" [minimumClusterSize]="2">
        <agm-marker *ngFor="let m of resultsMarkers; let i = index"
                    (markerClick)="clickedMarker(m.label,i)"
                    [latitude]="m.lat"
                    [longitude]="m.lng"
                    [label]="test"
                    [markerDraggable]="false">
        </agm-marker>
      </agm-marker-cluster>
    </agm-map>
</div>
<div *ngIf="selectedZoom <= 4">
  <agm-map [scrollwheel]="false" minZoom ="4" [latitude]="startingLat" [longitude]="startingLng" [zoom]="startingZoom" (centerChange)="onCenterChange($event)" (zoomChange)="onZoomChange($event)">
    <agm-marker-cluster maxZoom="5" imagePath="https://raw.githubusercontent.com/googlemaps/v3-utility-library/master/markerclustererplus/images/m" [minimumClusterSize]="2" (clusterClick)="onClusterClick($event)">>
      <agm-marker *ngFor="let m of resultsMarkers; let i = index"
                  (markerClick)="onMarkerClick(m,i)"
                  [latitude]="m.lat"
                  [longitude]="m.lng"
                  [label]="test"
                  [markerDraggable]="false">
      </agm-marker>
    </agm-marker-cluster>
  </agm-map>
</div>

在第一张地图中,resultsMarkers是来自我的实体的lat-lng数组(考虑街道邮政编码城市等),在第二张地图中,resultMarker是仅来自我的实体所在国家/地区的lat-lng数组(所以我将它们按4缩放级别分组为国家/地区)。我希望我足够清楚,以防不介意询问更多细节。我在Angular 8中使用Angular Google Maps(AGM)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)