移动谷歌地图时如何获取位置

时间:2014-12-10 12:43:18

标签: android google-maps

我的要求是在移动地图时显示该位置并向用户显示该位置。当用户触摸并移动谷歌地图屏幕时,我能够得到动作,在这里我被困在如何获取位置。

这是我的地图活动:

public class PickUpMapActivity extends FragmentActivity implements UpdateMapAfterUserInterection {
private GoogleMap googleMap;
private ImageView marker_image;
private Marker marker;

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pick);

    googleMap = ((MySupportFragment)getSupportFragmentManager().findFragmentById(R.id.map)).getMap();   
    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);

    marker_image = (ImageView) findViewById(R.id.marker_image);

    //trying with london LatLng
    LatLng origin = new LatLng(51.575363, -0.131836);
    CameraUpdate panToOrigin = CameraUpdateFactory.newLatLng(origin);
    googleMap.moveCamera(panToOrigin);

    googleMap.animateCamera(CameraUpdateFactory.zoomTo(14), 400, null);

    marker = googleMap.addMarker(new MarkerOptions().position(origin).
            icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)));

}


@Override
public void onUpdateMapAfterUserInterection() {
    Log.i("", "New Point: SHARMA"); 
    Log.v("", "PosLat: "+marker.getPosition().latitude);
    Log.v("", "PosLong: "+marker.getPosition().longitude);
}
}

当我移动地图屏幕时,我可以在onUpdateMapAfterUserInterection()中看到日志消息。我在日志消息中获得了经度和经度。

,屏幕是。

enter image description here

现在我需要在屏幕移动时获取新位置,并且必须向用户显示该位置。 请帮帮我..!

1 个答案:

答案 0 :(得分:0)

@Override
public void onUpdateMapAfterUserInterection() {
    System.out.println("Google: " + googleMap.getProjection().getVisibleRegion().latLngBounds.getCenter());
}

我有Lat / Lng ......并且我可以显示新的位置。