将用户限制为地图上的一个标记

时间:2014-03-07 06:51:05

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

我在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));
}

1 个答案:

答案 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));
  }
}