使用Mapbox sdk v8.6.1在Android中将标记设置为当前位置
我正在使用更新的sdkMapbox。但我无法将标记添加到当前位置。而且我没有当前位置的经纬度。我只是使用locationComponent来显示当前位置。 如果有人伸出你的援助之手,那将非常有帮助提前感谢显示如何跟踪设备位置 如果这太复杂或者不需要经常跟踪位置,可以执行使用Mapbox sdk v8.6.1在Android中将标记设置为当前位置,mapbox,marker,android-gps,mapbox-android,currentlocation,Mapbox,Marker,Android Gps,Mapbox Android,Currentlocation,我正在使用更新的sdkMapbox。但我无法将标记添加到当前位置。而且我没有当前位置的经纬度。我只是使用locationComponent来显示当前位置。 如果有人伸出你的援助之手,那将非常有帮助提前感谢显示如何跟踪设备位置 如果这太复杂或者不需要经常跟踪位置,可以执行location lastnownlocation=mapboxMap.getLocationComponent().getlastnownlocation()设置位置组件后() 现在已经有了坐标,您可以添加symbolayer或
location lastnownlocation=mapboxMap.getLocationComponent().getlastnownlocation()代码>设置位置组件后()
现在已经有了坐标,您可以添加symbolayer
或将新坐标添加到现有的symbolayer
的GeoJSON中
如何更新symbolayer
GeoJSON以显示新标记:
map.getStyle(new Style.OnStyleLoaded() {
@Override
public void onStyleLoaded(@NonNull Style style) {
featureList.add(Feature.fromGeometry(Point.fromLngLat(lastKnownLocation.getLongitude(), lastKnownLocation.getLatitude())));
FeatureCollection newFeatureCollection = FeatureCollection.fromFeatures(featureList);
GeoJsonSource source = style.getSourceAs("symbol-layer-source-id");
if (source != null) {
source.setGeoJson(newFeatureCollection);
}
}
});
你能详细说明这个问题吗,你尝试过什么,你已经使用了哪些资源~非常感谢你。很抱歉这么晚才回复。这是一个很大的帮助。
map.getStyle(new Style.OnStyleLoaded() {
@Override
public void onStyleLoaded(@NonNull Style style) {
featureList.add(Feature.fromGeometry(Point.fromLngLat(lastKnownLocation.getLongitude(), lastKnownLocation.getLatitude())));
FeatureCollection newFeatureCollection = FeatureCollection.fromFeatures(featureList);
GeoJsonSource source = style.getSourceAs("symbol-layer-source-id");
if (source != null) {
source.setGeoJson(newFeatureCollection);
}
}
});