Android 当用户点击地图时,如何更改地图框符号的位置?
我有一个带有符号的地图,我使用以下代码介绍:Android 当用户点击地图时,如何更改地图框符号的位置?,android,maps,mapbox,mapbox-android,mapbox-marker,Android,Maps,Mapbox,Mapbox Android,Mapbox Marker,我有一个带有符号的地图,我使用以下代码介绍: symbolOptions = SymbolOptions() .withLatLng(LatLng(localImageObject.locationLat, localImageObject.locationLong)) .withIconImage(DERE_PIN) .withIconSize(1.3f) .with
symbolOptions = SymbolOptions()
.withLatLng(LatLng(localImageObject.locationLat, localImageObject.locationLong))
.withIconImage(DERE_PIN)
.withIconSize(1.3f)
.withZIndex(10)
.withDraggable(true)
symbolManager.create(symbolOptions)
所以现在我的地图上有一个符号。我希望这样,当用户长按地图或单击时,符号将更改其位置,而不是创建新的位置。如何执行此操作?注释的选项类仅用于初始化。调用create时返回实际注释。这是您以后可以用来更新位置的对象:
val symbol = symbolManager.create(symbolOptions);
symbol.setGeometry(Point.fromLngLat(lonValue, latValue));
注释的选项类仅用于初始化。调用create时返回实际注释。这是您以后可以用来更新位置的对象:
val symbol = symbolManager.create(symbolOptions);
symbol.setGeometry(Point.fromLngLat(lonValue, latValue));
使用MapboxMap.OnMapClickListener接口,在地图上添加新符号之前,实现onMapClick方法删除符号
private SymbolManager symbolManager;
private List<Symbol> symbols //init
@Override
public boolean onMapClick(@NonNull LatLng point) {
if(!symbols.isEmpty()) {
symbolManager.delete(symbols);
symbols.clear();
}
if(symbolManager == null) {
symbolManager = new SymbolManager(mapView, map, map.getStyle());
}
symbolOptions = SymbolOptions()
.withLatLng(LatLng(localImageObject.locationLat,
localImageObject.locationLong))
.withIconImage(DERE_PIN)
.withIconSize(1.3f)
.withZIndex(10)
.withDraggable(true)
symbols.add(symbolManager.create(symbolOptions))
}
使用MapboxMap.OnMapClickListener接口,在地图上添加新符号之前,实现onMapClick方法删除符号
private SymbolManager symbolManager;
private List<Symbol> symbols //init
@Override
public boolean onMapClick(@NonNull LatLng point) {
if(!symbols.isEmpty()) {
symbolManager.delete(symbols);
symbols.clear();
}
if(symbolManager == null) {
symbolManager = new SymbolManager(mapView, map, map.getStyle());
}
symbolOptions = SymbolOptions()
.withLatLng(LatLng(localImageObject.locationLat,
localImageObject.locationLong))
.withIconImage(DERE_PIN)
.withIconSize(1.3f)
.withZIndex(10)
.withDraggable(true)
symbols.add(symbolManager.create(symbolOptions))
}
不为我工作。不为我工作。谢谢你救了我一天!!谢谢你救了我一天!!