我在Android应用中使用Google Maps V2 API。我添加了一个方法,允许用户使用onMapLongClick放置一个可拖动的标记。我还计划将功能与SearchView小部件和Google Places结合使用。在这方面,我想限制用户能够在地图上只放置一个标记。如果他们调用任何一种方法再次放置标记,我希望现有标记将其位置更新为新输入。我已经研究了几天了,并且无法限制用户可以放置的标记数量1.关于如何实现这一点的任何想法?这是我现在使用的方法......
//onMapLongClick, create marker
@Override
public void onMapLongClick(LatLng point) {
map.addMarker(new MarkerOptions()
.position(point)
.title("Your Destination")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
.draggable(true));
}
答案 0 :(得分:5)
我没有使用过android中的地图,但尝试这样的事情,只是给出一个想法
Marker m; //reference to the marker
//onMapLongClick, if marker exists update its position, else create marker
@Override
public void onMapLongClick(LatLng point) {
if (m) { //if marker exists (not null or whatever)
m.setPosition(point);
} else {
m = map.addMarker(new MarkerOptions()
.position(point)
.title("Your Destination")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
.draggable(true));
}
}