更改Android中Maps V2的地图标记的z-index(z-order)

前端之家收集整理的这篇文章主要介绍了更改Android中Maps V2的地图标记的z-index(z-order)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的地图上显示的几个标记是彼此接近的,甚至是彼此顶部的.我需要一个特定的标记总是在上面.无论如何将标记添加到地图首先或最后,它通常最终被放置在一些标记之后.由于某些神秘的原因,Google Maps决定了这一点.它需要使用Google Maps for Android V2.

解决方法

2016年6月27日,Android Maps API v2版本v9.2.0现在支持z-index – 请参阅 https://developers.google.com/maps/documentation/android-api/releases#june_27_2016发布.

因此,请确保您的地图/播放服务版本在build.gradle中设置为v9.2.0:

compile 'com.google.android.gms:play-services-maps:9.2.0'

z-index文档如下(从https://developers.google.com/maps/documentation/android-api/marker#marker_z-index):

The z-index specifies the stack order of this marker,relative to other markers on the map. A marker with a high z-index is drawn on top of markers with lower z-indexes. The default z-index value is 0.

Markers are always drawn above tile layers and other non-marker overlays (ground overlays,polylines,polygons,and other shapes) regardless of the z-index of the other overlays. Markers are effectively considered to be in a separate z-index group compared to other overlays.

标记添加到地图时可以设置索引:

map.addMarker(new MarkerOptions()
    .position(new LatLng(10,10))
    .title("Marker z1")
    .zIndex(1.0f));

…或者在创建标记后使用Marker.setZIndex().

关于z-index对点击事件的影响的更多文档低于(从https://developers.google.com/maps/documentation/android-api/marker#marker_click_events):

  • When a user clicks on a cluster of markers,the click event is triggered for the marker with the highest z-index.
  • At most one event is triggered per click. In other words,the click is not passed down to the markers or other overlays with lower z-index values.
  • Clicking on a cluster of markers causes subsequent clicks to cycle through the cluster,selecting each in turn. The order of the cycle first prioritises z-index,then proximity to the click point.
  • If the user clicks outside the proximity of the cluster,the API recalculates the cluster and resets the state of the click cycle so that it starts from the beginning.
  • The click event falls through marker clusters to other shapes and overlays before restarting the cycle.
  • Markers are effectively considered to be in a separate z-index group compared to other overlays or shapes (polylines,circles,and/or ground overlays),regardless of the z-index of the other overlays. If multiple markers,overlays or shapes are overlaid on top of each other,the click event is cycled through the cluster of markers first,then triggered for other clickable overlays or shapes,based on their z-index values.

猜你在找的Android相关文章