1

我正在使用 Mapbox 来渲染一些 Point GeoJSON 数据。如何在 Android 上使用 SymbolLayer 为图标着色?这似乎也给其他人带来了很多麻烦。这个问题正是我的:https ://github.com/mapbox/mapbox-gl-js/issues/1594

    val symbolLayer = SymbolLayer("clientLocationsPointsLayer", "clientLocationsPointsSource")
    symbolLayer.setProperties(
        iconImage("square"),
        iconSize(get("radius")),
        iconAllowOverlap(true),
        iconColor(get("color")),
        iconOpacity(get("opacity"))
    )

我的square图像是png。文档说它需要是一个 SDF。我怎么做其中之一?还有另一种方法可以做到这一点吗?在 iOS 上,这要简单得多。Android真的没有很好的等价物吗?

4

1 回答 1

0

对于将来遇到此问题的任何人,mapbox 示例中的此处是答案。 https://docs.mapbox.com/android/maps/examples/property-icon-determination/

您可以使用 Android-Studio 内置的 Vector 资产创建器创建多个图标。右键单击 Drawables->New->Vector Asset->Clip art。在这里您可以找到您喜欢的图标并直接在此编辑器中设置颜色。

之后,使用 mapbox 表达式获取颜色值并根据颜色设置图像。

于 2021-08-26T09:44:27.703 回答