我正在开发一个应用程序,因为我需要显示googlemap(V2),当我触摸地图时我需要获取特定位置的地址。我在之前版本的谷歌地图中做到了这一点。在新版本中,我使用以下代码来显示地图,但我不知道如何在地图上触摸时获取该位置的地址。
所以,请指导我如何实施这个。
private GoogleMap map;
final LatLng HAMBURG = new LatLng(current_latitude, current_longitude);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
.title("Hamburg"));
// Move the camera instantly to hamburg with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
答案 0 :(得分:3)
只需将OnMapClickListener
的实施添加到地图活动中即可。喜欢:
public class GoogleMapActivity extends FragmentActivity implements
LocationSource,LocationListener,OnMapClickListener,
OnMapLongClickListener,OnMarkerDragListener,
OnMarkerClickListener
然后:
map.setOnMapClickListener(this);
@Override
public void onMapClick(LatLng arg0) {
//Make Your implementation HERE
}
答案 1 :(得分:0)
根据Sercan Ozdemir与Geocoder.getFromLocation的建议合并OnMapClickListener
。
请记住使用线程(AsyncTask),因为Geocoder
进行网络调用以获取实际地址。
或者你可以使用geocoding API from Google,这是一项更多的工作(网络通信,解析)。