0

我正在使用适用于 Android (v5.1) 的 MapBox API。我设法让它一切正常,并且我使用的是自定义样式(浅色样式但稍作修改)。
我已经启用MyLocation,它也工作得很好。但是在地图上显示我的位置(在 GoogleMaps 中为蓝色)的点(或标记)是浅灰色的,因此在地图上几乎看不到。 带有标记的地图截图 有什么办法可以改变它的颜色吗?我已经尝试过获取belongong 层,但在MapBox Studio 和Android 中都找不到它。我在哪里可以自定义它?

我找到了一种可能的解决方案(尽管它适用于谷歌地图),它也可以工作,但在我看来,这不是一个好的解决方案。

4

2 回答 2

1

您应该能够通过MyLocationViewSettings对象和方法setForegroundTintColor更改这些设置。

如果你已经有一个 MapboxMap,你可以在调用 newInstance 的时候通过MapboxMapOptions来配置它,但是你只能改变准确的 tint color

于 2017-07-15T13:40:31.810 回答
0

现在 MapboxMap 不推荐显示位置。推荐的解决方案是使用 LocationLayerPlugin。

编辑 自 0.4.0 以来,Mapbox 现在mapbox_在每个属性之前都有前缀。可以在这里找到新的样式名称https://github.com/mapbox/mapbox-plugins-android/blob/master/plugin-locationlayer/src/main/res/values/styles.xml

要更改我的位置标记,您可以添加styles.xml从 mapbox_LocationLayer 继承的自定义样式并覆盖 mapbox_foregroundDrawable 项目。

<style name="CustomLocationLayer" parent="mapbox_LocationLayer">
    <item name="mapbox_foregroundDrawable">@drawable/location</item>
</style>

然后您可以使用以下样式创建图层:

LocationLayerPlugin(mapView, mapboxMap, locationEngine, R.style.CustomLocationLayer)
于 2017-12-06T10:58:02.763 回答