Java Mapbox:可视化符号时出现问题
到目前为止,我使用Java Mapbox:可视化符号时出现问题,java,mapbox,mapbox-android,Java,Mapbox,Mapbox Android,到目前为止,我使用SymbolManager在特定位置添加了一个符号。但是,用于符号的图像不会出现在地图上,尽管您在下面的代码段中看到的步骤是相同的: symbolManager = new SymbolManager(mapView, mMapboxMap, style); symbolManager.setIconAllowOverlap(true); symbolManager.setIconIgnorePlacement(true); SymbolOptions symbo
SymbolManager
在特定位置添加了一个符号。但是,用于符号的图像不会出现在地图上,尽管您在下面的代码段中看到的步骤是相同的:
symbolManager = new SymbolManager(mapView, mMapboxMap, style);
symbolManager.setIconAllowOverlap(true);
symbolManager.setIconIgnorePlacement(true);
SymbolOptions symbolOptions = new SymbolOptions()
.withIconImage(String.valueOf(R.drawable.ic_map_start_flag))
.withIconSize(2.0f)
.withLatLng(newLatLngs.get(0));
startSymbol = symbolManager.create(symbolOptions);
drawable是一个向量资产
,它可以在活动中可视化,没有任何问题。在这段代码之后,我还有另一段代码,它在地图上运行得非常好。日志中也没有出现故障
你知道为什么它没有出现在地图上吗 我已经解决了。问题是Mapbox不能直接使用drawable
文件夹中的资源。因此,我们需要从表示图标的XML文件中创建一个新的可绘制对象,然后将该可绘制对象添加到样式中,由onStyleLoaded(@NonNull style)
方法使用,如下所示:
Drawable myIcon = getResources().getDrawable( R.drawable.ic_map_start_flag);
style.addImage(IMAGE_START_FLAG, myIcon);