Scusate ma ho editato....vorrei solo chiedere com'č é possibile aggiustare l' accelerometro per evitare che mi ricompaiano le varie notifiche...e se c'č un modo per controllare se disattivato il gps e mi aggiorna l' overlay con quello del wifi.
Parte che precede il metodo onCreate
codice:import java.util.ArrayList; import java.util.HashMap; import java.util.List; import android.content.Context; import android.graphics.drawable.Drawable; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.net.wifi.ScanResult; import android.net.wifi.WifiManager; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.view.Window; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; 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.Overlay; import com.google.android.maps.OverlayItem; public class CustomControllerMapActivity extends MapActivity{ /* * Tag del log */ private final static String LOG_TAG = "CustomControllerMapActivity"; /* */ /* * Riferimento alla MapView */ private MapView mapView; /* * Riferimento al MapController */ private MapController mapController; //Riferimento al MyLocationOverlay private MyLocationOverlay myLocationOverlay; // Otteniamo il riferimento al LocationManager LocationManager locationManager; //Riferimento al provider Location location; LocationListener locationListener = new LocationListener() { // @Override public void onLocationChanged(Location location) { // Aggiorna il marker della mappa mapView.invalidate(); // Aggiorna la location Double geoLat = location.getLatitude()*1E6; Double geoLng = location.getLongitude()*1E6; GeoPoint point = new GeoPoint(geoLat.intValue(), geoLng.intValue()); mapController.setCenter(point); } // @Override public void onProviderDisabled(String provider) { Toast.makeText(CustomControllerMapActivity.this, "GPS disabilitato", Toast.LENGTH_SHORT).show(); } // @Override public void onProviderEnabled(String provider) { Toast.makeText(CustomControllerMapActivity.this, "GPS abilitato", Toast.LENGTH_SHORT).show(); } // @Override public void onStatusChanged(String provider, int status,Bundle extras) { Toast.makeText(CustomControllerMapActivity.this, "onStatusChanged "+provider+" status: "+status, Toast.LENGTH_SHORT).show(); } }; public void updateLocationOverlay() { if (location == null) { return; } List<Overlay> mapOverlays = mapView.getOverlays(); Drawable drawable = this.getResources().getDrawable(R.drawable.freccia); MyItemizedOverlay myItemizedOverlay = new MyItemizedOverlay(drawable); GeoPoint point = new GeoPoint((int)(location.getLatitude() * 1E6), (int)(location.getLongitude() * 1E6)); OverlayItem overlayitem = new OverlayItem(point, "", ""); myItemizedOverlay.addOverlay(overlayitem); mapOverlays.add(myItemizedOverlay); mapController.setCenter(point); mapController.animateTo(point); } //Componente per la ricerca delle reti WifiManager wifi; int size = 0; List<ScanResult> results; String ITEM_KEY = "key"; ArrayList<HashMap<String, String>> arraylist = new ArrayList<HashMap<String, String>>(); SimpleAdapter adapter; ListView lv; TextView textStatus; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Mettiamo la View a tutto schermo requestWindowFeature(Window.FEATURE_NO_TITLE); //Visualizziamo la mappa setContentView(R.layout.main); // Otteniamo il riferimento alla MapView mapView = (MapView)findViewById(R.id.mapView); // Otteniamo il riferimento al LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); //Verifichiamo se il GPS č abiliato if(!locationManager.isProviderEnabled("gps")){ Toast.makeText(this, "GPS disabilitato. Abilitare per una maggiore precisione.", Toast.LENGTH_LONG).show(); } // Otteniamo il riferimento al controller mapController = mapView.getController(); Log.i(LOG_TAG, "MapController obtained!"); mapController.setZoom(20); // Rendiamo la mappa cliccabile e quindi ne permettiamo // il pan mapView.setClickable(true); mapView.setBuiltInZoomControls(true); // Registriamo il LocationListener al provider GPS locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5, 1, locationListener); //Usiamo il provider Location GPS location= locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); if(!locationManager.isProviderEnabled("gps")){ //Non c' č il gps, utilizzo la rete locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5, 1, locationListener); location= locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView); List<Overlay> overlays = mapView.getOverlays(); overlays.add(myLocationOverlay); myLocationOverlay.enableMyLocation(); Toast.makeText(this, "Ecco la tua posizione: "+location.getLatitude()+": "+location.getLongitude(), Toast.LENGTH_LONG).show(); } else { /* // Registriamo il LocationListener al provider GPS locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5, 1, locationListener); //Usiamo il provider Location GPS location= locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);*/ this.updateLocationOverlay(); Toast.makeText(this, "Ecco la tua posizione: "+location.getLatitude()+": "+location.getLongitude(), Toast.LENGTH_LONG).show(); } }
Parte relativa all' onCreate:
codice:/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Mettiamo la View a tutto schermo requestWindowFeature(Window.FEATURE_NO_TITLE); //Visualizziamo la mappa setContentView(R.layout.main); // Otteniamo il riferimento alla MapView mapView = (MapView)findViewById(R.id.mapView); // Otteniamo il riferimento al LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); //Verifichiamo se il GPS č abiliato if(!locationManager.isProviderEnabled("gps")){ Toast.makeText(this, "GPS disabilitato. Abilitare per una maggiore precisione.", Toast.LENGTH_LONG).show(); } // Otteniamo il riferimento al controller mapController = mapView.getController(); Log.i(LOG_TAG, "MapController obtained!"); mapController.setZoom(20); // Rendiamo la mappa cliccabile e quindi ne permettiamo // il pan mapView.setClickable(true); mapView.setBuiltInZoomControls(true); if(!locationManager.isProviderEnabled("gps")){ //Non c' č il gps, utilizzo la rete locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5, 1, locationListener); location= locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView); List<Overlay> overlays = mapView.getOverlays(); overlays.add(myLocationOverlay); myLocationOverlay.enableMyLocation(); Toast.makeText(this, "Ecco la tua posizione: "+location.getLatitude()+": "+location.getLongitude(), Toast.LENGTH_LONG).show(); } else { // Registriamo il LocationListener al provider GPS locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5, 1, locationListener); //Usiamo il provider Location GPS location= locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); this.updateLocationOverlay(); Toast.makeText(this, "Ecco la tua posizione: "+location.getLatitude()+": "+location.getLongitude(), Toast.LENGTH_LONG).show(); } }

LinkBack URL
About LinkBacks
Ultima modifica di Darčios89; 01-09-12 alle
Rispondi quotando