获取标记坐标传递给变量

时间:2013-03-17 18:04:39

标签: java android eclipse google-maps

我正在构建一个应用程序,允许用户通过选择标记并单击信息窗口进行确认来设置接近警报。我需要能够从标记中获取纬度和经度,以便我可以使用坐标来设置半径。

 googleMap.setOnInfoWindowClickListener(
   new OnInfoWindowClickListener(){
     public void onInfoWindowClick(Marker marker) {

         //click function
      Toast.makeText(getBaseContext(), 
        "Info Window clicked@" + marker.getPosition(), 
        Toast.LENGTH_SHORT).show();

     LocationManager lm;
     double lat=0;
     double long1=0;    //Defining Latitude & Longitude
     float radius=3000;

    lm=(LocationManager) getSystemService(LOCATION_SERVICE);
    Intent i= new Intent("com.example.sleepertrain5.proximityalert");           //Custom Action
    PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(), -1, i, 0);
    lm.addProximityAlert(lat, long1, radius, -1, pi);

到目前为止,我只能找到不允许直接变量设置的marker.getLocation()。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

你试过这个:

map.setInfoWindowAdapter(new InfoWindowAdapter() {

// Use default InfoWindow frame
@Override
public View getInfoWindow(Marker args) {
    return null;
}

// Defines the contents of the InfoWindow
@Override 
public View getInfoContents(Marker args) 
{
    LatLng clickedMarkerLatLng = args.getPosition();
    double latitude =  clickedMarkerLatLng.latitude;
    double longitude =  clickedMarkerLatLng.longitude;
    ....
}

答案 1 :(得分:0)

我希望此代码可以帮助您:

@Override
public void onMapLongClick(LatLng point) {

Latitude lat = point.getLatitude(); 
Longitude lng = point.getLongitude();

}