Android Google地图 - 删除带图标的标记

时间:2017-08-18 11:10:35

标签: java android google-maps google-maps-api-3 marker

我想在长按一下删除标记,并将其放在另一个地方而不清除整个地图。

现在圆半径工作正常,但不会删除自定义图钉图标。 不应该使用GoogleMap.clear()方法 - 地图上还有其他一些我不想刷新的对象。 我也尝试过setPosition方法并得到了相同的结果。 如何删除此图标?

标记声明:

marker = googleMap.addMarker(new MarkerOptions().position(marker.getPosition()).draggable(true).title("INFO")
                    .infoWindowAnchor(0.5f,0.5f).visible(false)
                    .icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.pin_icon))));


this.googleMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
            @Override
            public void onMapLongClick(LatLng latLng) {
                if (marker != null) {
                    marker.remove();
                }

                createMarker(latLng);

            }
        });


private void createMarker(LatLng latLng) {
        marker = googleMap.addMarker(new MarkerOptions().position(latLng).draggable(true).title("INFO")
                .infoWindowAnchor(0.5f,0.5f)
                .icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.ic_pin_gr))));

    }

1 个答案:

答案 0 :(得分:0)

我使用这种方法创建标记,只需setPosition(new Latlng(...))工作。

marker = mGoogleMap.addMarker(new MarkerOptions()
                    .anchor(0.5f, 0.5f)
                    .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_pin))
                    .position(new LatLng(cab.getLatitude(), cab.getLongitude())));

您是否尝试在marker.remove();方法中替换setPosition()上的onLongClick()