在我的应用中,用户可以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();
}
答案 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);
}
});