【问题标题】:Remove or move Marker (Mapbox Android)移除或移动标记(Mapbox Android)
【发布时间】: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


    【解决方案1】:

    您需要使用MarkerView 而不是MarkerViewOptions 删除标记。将您的代码更改为:

    private MarkerView marker_inter;
    
    ...
    
    marker_inter = mapboxMap.addMarker(new MarkerViewOptions()
        .position(new LatLng(the_lagps_inter, the_logps_inter))
        .title("Intervention")
        .snippet("Desc inter")
        .icon(iconeInter));
    

    然后尝试移除 MarkerView 并设置它的位置。

    【讨论】:

    • 太好了,非常感谢!我建议更新 Mapbox 示例:mapbox.com/help/android-markers“添加标记”示例代码使用“MarkerViewOptions 标记”,然后“删除标记”解释说“使用 mapboxMap.removeMarker(marker);”这令人困惑。我会在 Mapbox 网站上发布。我会在几分钟后发布另一个关于地图焦点的问题。 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 2016-12-10
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2022-10-17
    相关资源
    最近更新 更多