我想在长按一下删除标记,并将其放在另一个地方而不清除整个地图。
现在圆半径工作正常,但不会删除自定义图钉图标。 不应该使用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))));
}
答案 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()
?