I have a fully working GoogleMap and I can show my userlocation with the call
mMap.setMyLocationEnabled(true);
What I want to accomplish is the functionality of the actual click on the button that now appears on the GoogleMap (I.e animating the map to the userlocation with correct zoom etc).
The functionality is there in the GoogleMap-object already, how do I use it?
I do not want to use a LocationListener or such to accomplish this, I just want to "call the same code" that gets called when I click the button on the map. Can it be that simple?
Thanks in advance.
EDIT:
What I basically want to do is to center the map at the user location, exactly the way that the GoogleMap centers at user location when I click the button. Like this:
GoogleMap mMap = this.getMap();
if(mMap != null) {
mMap.setMyLocationEnabled(true);
//TODO center the map on mylocation
}
EDIT:
Apparently Google is working on this. http://code.google.com/p/gmaps-api-issues/issues/detail?id=4644
This is how I do to navigate to the center of the map when we get the first location-update.
my class header:
public class FragActivity extends SherlockFragmentActivity implements OnMyLocationChangeListener
private GoogleMap mMap;
my mMap-setup:
if (mMap == null) {
// Try to obtain the map from the SupportMapFragment.
mMap = customMapFragment.getMap();
// Check if we were successful in obtaining the map.
if (mMap != null)
setUpMap();
}
setUpMap-method:
private void setUpMap() {
mMap.setMyLocationEnabled(true);
mMap.setOnMyLocationChangeListener(this);
}
and my onlocationchange:
@Override
public void onMyLocationChange(Location lastKnownLocation) {
CameraUpdate myLoc = CameraUpdateFactory.newCameraPosition(
new CameraPosition.Builder().target(new LatLng(lastKnownLocation.getLatitude(),
lastKnownLocation.getLongitude())).zoom(6).build());
mMap.moveCamera(myLoc);
mMap.setOnMyLocationChangeListener(null);
}
Works like a charm
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With