簡體   English   中英

如何刪除地圖標記

[英]How to remove map markers

我想實現一個地圖系統,用戶可以在其中選擇起點和終點作為兩個不同的標記。

當用戶長按地圖時,他們可以選擇一個按鈕以將該位置用作起點或終點。

    case (R.id.setStart):
        markerStart = mMap.addMarker(new MarkerOptions()
        .position(this.startPoint)
        .title("Start")
        .draggable(true)
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));       
        outputName = rGC.getStringFromCoordinates(this.startPoint.latitude, this.startPoint.longitude);
        autocompleterStart.setText(outputName); 
        break;
    case (R.id.setEnd):
        markerEnd = mMap.addMarker(new MarkerOptions()
        .position(this.endPoint)
        .title("End")
        .draggable(true)
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED))); 

但是,當用戶重復相同的過程(選擇新位置作為開始/結束)時,我希望能夠刪除以前的標記。 因此,如果他們選擇相同的“開始”按鈕,則將刪除先前的開始標記,並創建一個新標記。

有沒有辦法檢查地圖上是否存在特定標記。 我嘗試添加marker.remove(); 但是它給了我一個nullpointerexception。

        case (R.id.setEnd):
        markerEnd.remove();
        markerEnd = mMap.addMarker(new MarkerOptions()
        .position(this.endPoint)
        .title("End")
        .draggable(true)
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));     

有任何想法嗎? 提前致謝!

您可以使用我已經在我的應用中實現的方法並且可以正常工作...對我來說

LatLng  latpoint;

MAP.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {

            @Override
            public void onMapLongClick(LatLng point) {
                // TODO Auto-generated method stub

                // MAP.clear();
                if (marker != null) {
                    marker.remove();
                }
                latpoint = point;
                marker = MAP.addMarker(new MarkerOptions()
                        .position(
                                new LatLng(latpoint.latitude,
                                        latpoint.longitude))
                        .title(point.toString()).draggable(true)
                        .visible(true));

            }

        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM