【问题标题】:How do I set the z-index of clustered markers on google maps for angular?如何在谷歌地图上为角度设置聚集标记的 z 索引?
【发布时间】:2021-10-07 16:29:29
【问题描述】:

我们在我们的应用程序中使用 Google Maps for Angular。我们正在实施集群。默认情况下,似乎将集群置于非集群标记之上。我们想把它们放在标记后面。我已经用谷歌搜索了这个问题的解决方案,经典的谷歌地图有很多点击,甚至还有一些用于 Angular 的旧版谷歌地图(其中标签是 agm-map),但当前版本没有Google Maps for Angular(标签为 google-map):https://timdeschryver.dev/blog/google-maps-as-an-angular-component

设置 z-index 不起作用。使用经典的谷歌地图,他们说要抓住地图中包含聚类的图层,并将其移动到包含非聚类标记的图层下方。 Google Maps for Angular 是否有与此等价的功能?

这是我们的代码:

<google-map
      #map
      height="100%"
      width="100%"
      [zoom]="zoom"
      [center]="center"
      [options]="mapOptions">
        <!-- clustered markers -->
        <map-marker-clusterer imagePath="assets/img/clusters/cluster_green">
          <map-marker
            #marker="mapMarker"
            *ngFor="let site of okSitesBound"
            [position]="site.position"
            [title]="site.displayName"
            [icon]="site.pinIcon"
            fit="true"
            [options]="okPinOptions"
            (mapClick)="markerClicked(marker, site)"
            (mapMouseover)="enableMouseover ? markerClicked(marker, site) : null">
          </map-marker>
        </map-marker-clusterer>
        <!-- unclustered markers -->
        <map-marker
          #marker="mapMarker"
          *ngFor="let site of notOkSitesBound"
          [position]="site.position"
          [title]="site.displayName"
          [icon]="site.pinIcon"
          fit="true"
          [options]="notOkPinOptions"
          (mapClick)="markerClicked(marker, site)"
          (mapMouseover)="enableMouseover ? markerClicked(marker, site) : null">
        </map-marker>

^ 是否有什么我需要在这里更改以将集群放在其他标记后面?我可以用 Javascript 做些什么吗?

谢谢!

【问题讨论】:

    标签: angular google-maps z-index


    【解决方案1】:

    你可以这样写:

            <map-marker
                #marker="mapMarker"
                *ngFor="let site of okSitesBound"
                [position]="site.position"
                [title]="site.displayName"
                [icon]="site.pinIcon"
                [zIndex] = 99
                
              </map-marker>
    

    这是工作示例: https://jsfiddle.net/pthqnxdo/7/

    或者你可以使用setZIndexhttps://developers.google.com/maps/documentation/javascript/reference/marker#Marker.setZIndex

    您可以尝试更多示例代码:

    https://developers.google.com/maps/documentation/javascript/examples/marker-simple#maps_marker_simple-javascript

    【讨论】:

    • 我降低了这个答案的评分,因为:1)它与 Google Maps for Angular 无关:timdeschryver.dev/blog/google-maps-as-an-angular-component,以及 2)它甚至没有解决集群问题。
    • 您能否创建一个 stackblitz 并显示问题所在,因为您没有询问集群,但我可以看到 ypur 的问题是针对 z-index 的,我已经使其正常工作跨度>
    猜你喜欢
    • 1970-01-01
    • 2019-12-17
    • 2013-03-15
    • 2014-09-02
    • 2015-06-13
    • 2016-06-06
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    相关资源
    最近更新 更多