【问题标题】:Marker is not removing from mapV2 android标记未从 mapV2 android 中删除
【发布时间】:2013-05-08 10:40:26
【问题描述】:

我正在添加一个触摸地图的制造商,并希望在单击某个按钮时删除该标记,但该标记并未从地图中删除。这是我的代码

    // Marker of end Point
Marker endPointMarker;

点击地图

        @Override
public void onMapClick(LatLng point) {
    // TODO Auto-generated method stub
    double lat = point.latitude;
    double lng = point.longitude;

    // Add marker of destination point

            try {
                Geocoder geocoder;
                List<Address> addresses;
                geocoder = new Geocoder(BookCabScreen.this);
                if (lat != 0 || lng != 0) {
                    addresses = geocoder.getFromLocation(lat, lng, 1);
                    String address = addresses.get(0).getAddressLine(0);
                    String city = addresses.get(0).getAddressLine(1);
                    String country = addresses.get(0).getAddressLine(2);
                    Log.d("TAG", "address = " + address + ", city =" + city
                            + ", country = " + country);
                    endPointMarker = mMap.addMarker(new MarkerOptions()
                            .position(new LatLng(lat, lng))
                            .title("Location").snippet("" + address));

                    markers.add(mMap.addMarker(new MarkerOptions()
                            .position(new LatLng(lat, lng))
                            .title("Location").snippet("" + address)));
                    btnStartUp.setEnabled(true);
                    btnStopPoint.setEnabled(true);

                    mJbBookCab.setEndPointLat(lat);
                    mJbBookCab.setEndPointLng(lng);
                } else {
                    Toast.makeText(BookCabScreen.this,
                            "latitude and longitude are null",
                            Toast.LENGTH_LONG).show();

                }
            } catch (Exception e) {
                e.printStackTrace();

            }


}

点击按钮

            if (endPointMarker != null) {
            endPointMarker.remove();

            endPointMarker = null;
        }

但它没有从地图中删除?请帮助

【问题讨论】:

标签: android google-maps-android-api-2


【解决方案1】:

您所做的是正确的,但是如果这不起作用,那么您可以在 onclick 方法中使用 mMap.clear() 这将删除所有标记,或者如果您只想不显示特定标记,那么您可以使用endPointMarker.setVisible(false)

【讨论】:

  • 我不能使用 clear 方法,因为还有一些其他标记。我也使用 setvisible(false) 但结果相同
【解决方案2】:

您添加了两次相同的标记:

                endPointMarker = mMap.addMarker(new MarkerOptions()
                        .position(new LatLng(lat, lng))
                        .title("Location").snippet("" + address));

                markers.add(mMap.addMarker(new MarkerOptions()
                        .position(new LatLng(lat, lng))
                        .title("Location").snippet("" + address)));

只需删除一个对GoogleMap.addMarker 的呼叫。

【讨论】:

    猜你喜欢
    • 2014-01-03
    • 2016-04-24
    • 1970-01-01
    • 2014-05-24
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多