在谷歌地图android上获取标记的经度和纬度

时间:2014-05-12 23:27:59

标签: android eclipse google-maps latitude-longitude

在我的应用中,用户可以onLongClick添加标记到谷歌地图。它将这些坐标保存为一个点。我知道使用location = location.getLastKnownLocation可以使用方法getLongitude()和getLatitude()。无论如何使用用户在谷歌地图上放置标记来执行此操作,以便可以检索坐标。这是获取标记点并存储它的代码。

public void onMapLongClick(LatLng point) {
    tvLocInfo.setText("New marker added@" + point.toString());             map.addMarker(new MarkerOptions().position(point).title(point.toString())); 
pointfinal = point;
Toast.makeText(this, point.toString(), Toast.LENGTH_LONG).show();
}

2 个答案:

答案 0 :(得分:3)

试试这个:

public void onMapLongClick(LatLng point) {
    tvLocInfo.setText("New marker added@" + point.toString());        
    //Create a marker object
    Marker myMarker = map.addMarker(new MarkerOptions().position(point).title(point.toString()));

    //And now you can use it's values
    myMarker.getPosition().latitude;
    myMarker.getPosition().longitude;
}

如果您有多个标记,则可以使用数组存储所有标记

答案 1 :(得分:1)

请参阅此link

它说

map.setOnInfoWindowClickListener(
    new OnInfoWindowClickListener(){
    @Override
    public void onInfoWindowClick(Marker arg0) {

        // TODO Auto-generated method stub
        arg0.hideInfoWindow();
        double dlat =arg0.getPosition().latitude;
        double dlon =arg0.getPosition().longitude;
        String slat = String.valueOf(dlat);
        String slon = String.valueOf(dlon);
        Log.d("Position","Lat:"+slat+",Lon:"+slon);  
    }
});