一段时间以来,我一直在尝试将在Mapbox Studio中创建的样式呈现为高于默认Mapbox样式。设置整个MapView的styleURL
可以,但是我不能专门针对我的观点:<Mapbox.MapView styleURL={'mapbox://...'} />
。
我发现我可能需要使用VectorSource
或SymbolLayer
或它们的组合,但是我似乎无法解密它们的文档。
这是我目前尝试使用ShapeSource
和SymbolLayer
/ CircleLayer
的代码。之所以将sourceLayerID
设为 sitesMarker 和 sitesDot 是因为它们以我的风格命名(请参见上图)。下面的代码除了Mapbox(MapboxGL.StyleURL.Dark
)中的默认地图样式外,什么都没有显示。
<MapboxGL.MapView style={{ flex: 1 }} styleURL={MapboxGL.StyleURL.Dark}>
<MapboxGL.ShapeSource id="myShapeSource" url="mapbox://styles/{abc}/{123}">
<MapboxGL.SymbolLayer id="myShapeLayer" sourceLayerID="sitesMarker" />
<MapboxGL.CircleLayer id="myCircleLayer" sourceLayerID="sitesDot" />
</MapboxGL.ShapeSource>
</MapboxGL.MapView>
我的目标是能够获取点的属性onPress
,并最终显示与标记等相关的注释。如何进行?谢谢!