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

Android 将用户限制为地图上的一个标记,android,google-maps-android-api-2,Android,Google Maps Android Api 2,我在Android应用程序中使用谷歌地图V2 API。我提供了一个方法,允许用户通过onMapLongClick放置一个可拖动的标记。我还计划加入与SearchView小部件和GooglePlaces相结合的功能。在这方面,我想限制用户只能在地图上放置一个标记。如果他们调用任一方法来再次放置标记,我希望现有标记将其位置更新为新输入。我已经对此进行了几天的研究,但没有发现任何关于将用户可以放置的标记数量限制为1的信息。关于如何实现这一点有什么想法吗?这是我现在使用的方法 //onMapLongCl

我在Android应用程序中使用谷歌地图V2 API。我提供了一个方法,允许用户通过onMapLongClick放置一个可拖动的标记。我还计划加入与SearchView小部件和GooglePlaces相结合的功能。在这方面,我想限制用户只能在地图上放置一个标记。如果他们调用任一方法来再次放置标记,我希望现有标记将其位置更新为新输入。我已经对此进行了几天的研究,但没有发现任何关于将用户可以放置的标记数量限制为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));
}

我没有在安卓系统中使用过地图,但尝试一下类似的方法,只是给出一个想法

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

我没有在安卓系统中使用过地图,但尝试一下类似的方法,只是给出一个想法

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

这很容易。就像第一个用户现在在onmaplick中添加一个标记一样,如果用户再次在onmaplick中添加标记,那么将旧点更新为新点非常容易。就像第一个用户现在在onmaplick中添加一个标记一样,如果用户再次使用onmaplick,则将旧点更新为新点哇!你对这个问题的回答真是太过分了。我将投+1票赞成彻底性,一旦我尝试过,我将继续跟进。我可以使用point作为一个字段,通过用户的onMapLongClick或GooglePlaces上的LatLng进行更新,对吗?这非常有效!呜!谢谢你,也谢谢你让我觉得自己有点笨,因为我自己没能想出这个。我会静静地坐在这里,啜饮我的苏格兰威士忌。哇!你对这个问题的回答真是太过分了。我将投+1票赞成彻底性,一旦我尝试过,我将继续跟进。我可以使用point作为一个字段,通过用户的onMapLongClick或GooglePlaces上的LatLng进行更新,对吗?这非常有效!呜!谢谢你,也谢谢你让我觉得自己有点笨,因为我自己没能想出这个。我会静静地坐在这里,啜饮我的苏格兰威士忌。