java标记未显示在Mapxbox Android上的样式化MapView上
我需要一些关于Mapbox Android的帮助。我在默认样式的地图上绘制了多段线和一些自定义标记,但是,当我将默认样式更改为自定义样式时,我仍然可以看到多段线,但没有绘制标记(自定义标记或默认标记)
有人能帮我解决这个问题吗
这是我的代码:
//Setting style
mapView.setStyleUrl(Constants.MAP_URL_GREEN);
//Adding polilyne
PolylineOptions options = new PolylineOptions();
for(double[] coordArray : route.getListCoords()) {
options.add(new LatLng(coordArray[0], coordArray[1]));
}
options.color(ContextCompat.getColor(getContext(), R.color.color_end_green));
options.width(5);
mapView.addPolyline(options);
//Adding markers
MarkerOptions currentMarker;
for(Point point : route.getListPoints()){
currentMarker = getMarkerFromPoint(point);
markers.add(mapView.addMarker(currentMarker));
}
其中getMarkerFromPoint是:
private MarkerOptions getMarkerFromPoint(Point point) {
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(point.getLat(), point.getLng()));
//markerOptions.icon(MapUtils.getPointIcon(point, getContext()));
return markerOptions;
}
编辑:我正在使用MapBox Android SDK 3.2.0
提前谢谢
# 1 楼答案
因此,我测试了您的一些代码,但无法重现您遇到的问题。我的应用程序以默认样式图开始,然后在用户单击时,它将更改为我的自定义向量样式之一。我确实更改了一些可能无意中修复了问题的代码,最显著的更改是使用了
Point
而不是LatLng
。我也没有创建一个标记列表来添加标记我的
getMarkerFromPoint()
方法:我希望这能帮助你解决问题,如果我找到了解决方案,我会编辑这个答案
# 2 楼答案
我发现了问题
我正在通过json文件加载脱机样式,但当我将该json导入我的mapbox帐户并更改为联机URL时,问题就解决了
这是一个奇怪的问题
谢谢大家!