As topic I’m currently in sweden but when launching my map it shows that I’m in England.
My code looks like this:
private MapListener myMapViewListener;
private MapController mapController;
private GeoPoint test;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapview);
setupListener();
MapView mapView = (MapView) findViewById(R.id.mapview);
mapController = mapView.getController();
mapView.setBuiltInZoomControls(true);
mapView.setClickable(true);
mapController.setZoom(7); // defualt zoom
}
private void setupListener() {
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
MapListener listener = new MapListener();
MapView mapView = (MapView) findViewById(R.id.mapview);
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
test = new GeoPoint((int)location.getLatitude()*1000000, (int)location.getAltitude()*1000000);
mapController.animateTo(test);
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
};
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
}
}
I’ve added……..
<uses-library android:name="com.google.android.maps" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses- permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
</manifest>
….. in my manifest.
I’m using http://developer.android.com/guide/topics/location/obtaining-user-location.html as a guide.
Very thankful for help!
it is converting to an int before it does the multiplication so you need parens around the calculation.
Replace with this.
You also might want to check out MyLocationOverlay if you want to draw your location on a map.
To use MyLocationOverlay.
In on pause you should also call myLocationOverlay.disableMyLocation() so it doesn’t drain battery when your activity is in the background.