如何在 MapBox(Z-Order)上的地图标记后面设置当前位置指示器?
Posted
技术标签:
【中文标题】如何在 MapBox(Z-Order)上的地图标记后面设置当前位置指示器?【英文标题】:How to set current location indicator behind map markers on MapBox (Z-Order)? 【发布时间】:2017-05-04 18:17:18 【问题描述】:是否可以将 MyLocation 背景可绘制对象放在 MapBox Xamarin android 上的标记后面?
当前 gps 位置指示器默认放置在所有标记上方。有什么办法可以配置吗?
我也尝试将当前位置设置为标记,但看起来 z 顺序是基于屏幕位置的,我找不到配置标记 z 顺序的方法。
【问题讨论】:
我也想知道如何使用 Android SDK 做到这一点。 【参考方案1】:更新:错过了这个问题是关于 MapBox 的。以下仅适用于 Google 地图 API。我建议查看 MapBox 的文档,看看它们是否允许访问底层标记的 ZIndex 属性。
要设置标记的 Z 顺序(其中 map
是 GoogleMap
实例):
var markerFront = new MarkerOptions();
markerFront.InvokeZIndex(1f); // Set the z-order
markerFront.SetTitle("In Front");
markerFront.SetPosition(new LatLng(lat, lon));
var markerBack = new MarkerOptions();
markerBack.InvokeZIndex(2f); // set the z-order
markerBack.SetTitle("behind");
markerBack.SetPosition(new LatLng(lat-0.0001, lon-0.0001));
map.AddMarker(markerFront);
map.AddMarker(markerBack);
而markerFront
将高于markerBack
。但是,在这些设置完成后,如果您单击markerBack
,它们将被操作系统更改,它将被移到前面。我不确定在创建标记后是否可以更改 z 顺序,因此如果您需要在单击标记时保留 z 顺序,我认为您必须删除并重新添加带有 z 的标记- 你想要的顺序。
我找不到改变当前位置标记的 z 顺序的方法(经过非常简短的搜索)。就个人而言,我认为无论如何您总是希望当前位置指示器位于前面。
【讨论】:
Shoot,对 MapBox 不熟悉,所以上面的内容可能没有实际意义,但这就是你将如何使用 Xamarin.Android 来完成它。 GooglePlayServices.Maps SDK。 这个问题和mapbox有关。以上是关于如何在 MapBox(Z-Order)上的地图标记后面设置当前位置指示器?的主要内容,如果未能解决你的问题,请参考以下文章
单击 Mapbox 中的地图标记后更改其他 HTML 元素?
如何在 Mapbox iOS 中的特定坐标上放置自定义注释的底部