1

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

    // 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;
        }

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

4

2 回答 2

3

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

                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.

于 2013-05-14T09:20:04.200 回答
0

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

于 2013-05-14T08:39:52.910 回答