【问题标题】:How to set marker Z-index on MapBox Android?如何在 MapBox Android 上设置标记 Z-index?
【发布时间】:2017-07-06 08:54:30
【问题描述】:

我的应用显示了一个用户标记。基本上,用户标记显示当前用户在地图上的位置,但我还在地图上放置了其他标记。最后,它掩盖了我的用户标记。我希望我的用户标记位于地图的顶部。我希望它最后渲染,所以它显示在最顶部。

有什么想法吗?

【问题讨论】:

  • 您找到解决问题的方法了吗?
  • @PhanVanLinh,不幸的是没有。除非您实现自己的标记,否则无法控制这一点,这可以通过 ViewMarkerOptions 实现我认为的视图,那里还有其他很酷的选项,如锚点、偏移等。不记得它是否具有 z 排序。不敢相信 2D 渲染中的这些基本内容被遗漏了,这真是太可惜了。不过我不能下 ViewMarkerOptions,如果你有数百个,地图就会变得很慢。我认为最好的选择是 Mapbox Studio,不过我还没有尝试过。

标签: android mapbox mapbox-gl mapbox-marker


【解决方案1】:

如果有人正在寻找最新 SDK 的更新答案。

Mapbox Marker 类现在已在较新版本的 Mapbox Android SDK 中被弃用。建议使用Annotations 插件,它有一个用于标记的 Symbol 类。

mapbox-android-plugin-annotation-v7 库中,Symbol 类有一个 withZIndex() 方法,允许操作地图对象的 Z 顺序。

mapbox-android-plugin-annotation-v8 中,此方法已重命名为 withSymbolSortKey()(查找和发现有点棘手)。

【讨论】:

    【解决方案2】:

    这里有一个解决方案https://github.com/mapbox/mapbox-gl-native/pull/5294

    如果您使用MarkerView,您可以通过MarkerViewManager#select 调用将您的标记带到最顶端。

    mapboxMap.getMarkerViewManager().select(marker);
    

    它将通过从 Android View API 调用 View#bringToFront 结束,所选标记视图将显示在所有其他标记视图之上。

    【讨论】:

      【解决方案3】:

      我认为这可能会有所帮助:

      Mapbox Android SDK: Bring marker to front

      是的。从 Mapbox Android SDK v4.1 开始,选中的标记将 来到前面。

      您可以选择带有mapboxMap.selectMarker(marker);的标记

      【讨论】:

        猜你喜欢
        • 2020-07-17
        • 1970-01-01
        • 2012-02-19
        • 2017-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-05
        • 1970-01-01
        相关资源
        最近更新 更多