【发布时间】:2016-11-09 21:24:54
【问题描述】:
我正在使用 Mapbox SDK Android('com.mapbox.mapboxsdk:mapbox-android-sdk:4.1.1@aar' 和 'com.mapbox.mapboxsdk:mapbox-android-services:1.1.0@aar' )。 我使用离线地图并放置标记,但删除和设置位置不起作用。
我在全局声明:
private MapboxMap mapboxMap2;
private MarkerViewOptions marker_inter;
然后在我的 OnMapReadyCallback() 中,我将 MapboxMap 保存为:
public void onMapReady(MapboxMap mapboxMap)
{
mapboxMap2 = mapboxMap;
所以我以后可以使用它。
在 OnMapReadyCallback 中,我使用以下标记放置标记:
marker_inter = new MarkerViewOptions()
.position(new LatLng(the_lagps_inter, the_logps_inter))
.title("Intervention")
.snippet("Desc inter")
.icon(iconeInter);
markerView = mapboxMap.addMarker(marker_inter);
标记设置正确。 然后在 onMapClick(@NonNull LatLng point) 我检索点击的坐标(这是正确的)。但是:
1) 如果我尝试使用以下方法删除标记:
mapboxMap2.removeMarker(marker_inter);
我在 MapboxMap 中得到“removeMarker (com.mapbox.mapboxsdk.annotations.Marker) 无法应用于 (com.mapbox.mapboxsdk.annotations.MarkerViewOptions)”
2) 如果我尝试使用以下方法设置新位置:
marker_inter.setPosition(new LatLng(the_lagps_inter, the_logps_inter));
我得到:“无法解析方法 'setPosition(com.mapbox.maboxsdk.geometry.LatLng)”
注意:我导入 com.mapbox.mapboxsdk.geometry.LatLng;
removeMarker 似乎不适用于 MarkerViewOptions 并且 setPosition 在 geometry.LatLng 中不再存在??
有什么想法吗?
【问题讨论】:
标签: android mapbox mapbox-marker