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);