package com.tv.map; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.MyLocationOverlay; import com.google.android.maps.OverlayItem; import com.tv.btl.R; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; public class GoogleMap extends MapActivity { private MapController mapController; private MapView mapView; private LocationManager locationManager; private MyOverlay itemizedoverlay; private MyLocationOverlay myLocationOverlay; private double lon; private double lat; public void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.googlemap); Intent i=getIntent(); lon=i.getDoubleExtra("lon", 0); lat=i.getDoubleExtra("lat", 0); // Configure the Map mapView = (MapView) findViewById(R.id.google_map); mapView.setBuiltInZoomControls(true); mapView.setStreetView(true); mapController = mapView.getController(); mapController.setZoom(14); // Zoon 1 is world view // locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); // locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, // 0, new GeoUpdateHandler()); myLocationOverlay = new MyLocationOverlay(this, mapView); mapView.getOverlays().add(myLocationOverlay); // myLocationOverlay.runOnFirstFix(new Runnable() { // public void run() { // mapView.getController().animateTo(myLocationOverlay.getMyLocation()); // } // }); Drawable drawable = this.getResources().getDrawable(R.drawable.marker); itemizedoverlay = new MyOverlay( drawable,this); GeoPoint geoPoint = new GeoPoint((int)(lat * 1E6), (int)(lon * 1E6)); createMarker(geoPoint); mapController.animateTo(geoPoint); } protected boolean isRouteDisplayed() { return false; } // public class GeoUpdateHandler implements LocationListener { // // // public void onLocationChanged(Location location) { // int lat = (int) (location.getLatitude() * 1E6); // int lng = (int) (location.getLongitude() * 1E6); // GeoPoint point = new GeoPoint(lat, lng); // // createMarker(); // mapController.animateTo(point); // mapController.setCenter(point); // // } // // // public void onProviderDisabled(String provider) { // } // // // public void onProviderEnabled(String provider) { // } // // // public void onStatusChanged(String provider, int status, Bundle extras) { // } // } private void createMarker(GeoPoint p) { // GeoPoint p = mapView.getMapCenter(); OverlayItem overlayitem = new OverlayItem(p, "test", "test"); itemizedoverlay.addOverlay(overlayitem); if (itemizedoverlay.size() > 0) { System.out.println("aaaa"); mapView.getOverlays().add(itemizedoverlay); } } @Override protected void onResume() { super.onResume(); myLocationOverlay.enableMyLocation(); myLocationOverlay.enableCompass(); } @Override protected void onPause() { super.onPause(); myLocationOverlay.disableMyLocation(); myLocationOverlay.disableCompass(); } }