[英]Drawable Resource in Mapbox Android
我有一些圖標作為可繪制資源,我想將它們放在 android 工作室的 MapBox map 中的特定位置,但我不知道如何。
我嘗試將我的資源文件轉換為位圖,然后將這些位圖轉換為字符串,以填充 SymbolOptions class 的“withIconImage”方法。(我知道它適用於定義的字符串,例如“airport”、“fire-station”) .
有人能幫我嗎?
謝謝!
這個來自 Mapbox Android 文檔的示例展示了如何將 Android 應用程序中的本地可繪制資源作為 SymbolLayer 添加到 Mapbox SymbolLayer
。 initSpaceStationSymbolLayer
輔助方法專門處理這個問題:
private void initSpaceStationSymbolLayer(@NonNull Style style) {
style.addImage(
"space-station-icon-id",
BitmapFactory.decodeResource(this.getResources(), R.drawable.iss)
);
style.addSource(new GeoJsonSource("source-id"));
style.addLayer(new SymbolLayer("layer-id", "source-id").withProperties(
iconImage("space-station-icon-id"),
iconIgnorePlacement(true),
iconAllowOverlap(true),
iconSize(.7f)
));
}
但是,您提到SymbolOptions
,因此很可能您正在使用 Android 的Mapbox 注釋插件,而不是直接添加SymbolLayer
。 正如SymbolOptions#withIconImage
方法的文檔中所指出的那樣,圖標圖像被指定為String
,它引用了您樣式的sprite表中的圖像名稱。 這個來自 Mapbox Android 插件演示應用程序的示例演示了如何將資源文件夾中的圖像添加到您的樣式中,然后用作SymbolManager
中的圖標圖像。 即這里定義了ID_ICON_AIRPORT
為"airport"
,然后這里的輔助方法addAirplaneImageToStyle
將相關圖像添加到樣式中,最后在這里使用SymbolOptions#withIconImage
和作為參數傳遞的ID_ICON_AIRPORT
創建了一個Symbol
。 您使用相同的方法來添加您自己的可繪制圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.