Autore Topic: Problema mapview  (Letto 682 volte)

Offline ienariden

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
Problema mapview
« il: 07 Agosto 2011, 16:21:40 CEST »
0
Scusate qualcuno mi saptebbe dire perchè nella mia app appena clicco su qualsiasi punto della mappa mi da eccezione UnhendledMessage???

quì c'è il codice...
Codice (Java): [Seleziona]
@Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                requestWindowFeature(Window.FEATURE_NO_TITLE);
                //Visualizziamo la Map
                setContentView(R.layout.mainmap);
                 //Otteniamo il riferimento alla MapView
                mapView = (MapView) findViewById(R.id.mapView);
                Log.i(LOG_TAG, "MapController obtained!");
                 //Rendiamo la mappa cliccabile e quindi ne permettiamo
                 //il pan
                mapView.setClickable(true);
                 //Utiliziamo i controlli predefiniti per la gestione
                 //delle operazioni di zoom
                mapView.setBuiltInZoomControls(true);
                LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
                Log.i(LOG_TAG,"LocationManager created!");
                //Location loc=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
                LocationListener lis= new LocationListener() {

                        @Override
                        public void onLocationChanged(Location location) {
                                Log.i(LOG_TAG,"onLocationChanged "+location.getLatitude()+":"+location.getLongitude());
                                Toast.makeText(MapAct.this,
                                                "onLocationChanged "+location.getLatitude()+":"+location.getLongitude(), Toast.LENGTH_SHORT).show();

                        }

                        @Override
                        public void onProviderDisabled(String provider) {
                                Log.i(LOG_TAG,"onProviderDisabled "+provider);
                                Toast.makeText(MapAct.this,
                                                "onProviderDisabled "+provider, Toast.LENGTH_SHORT).show();

                        }

                        @Override
                        public void onProviderEnabled(String provider) {
                                Log.i(LOG_TAG,"onProviderEnabled "+provider);
                                Toast.makeText(MapAct.this,
                                                "onProviderEnabled "+provider, Toast.LENGTH_SHORT).show();
                        }

                        @Override
                        public void onStatusChanged(String provider, int status,Bundle extras) {
                                Log.i(LOG_TAG,"onStatusChanged "+provider+" status: "+status);
                                Toast.makeText(MapAct.this,
                                                "onStatusChanged "+provider+" status: "+status, Toast.LENGTH_SHORT).show();

                        }

                       

                };
                locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
                                0, lis);
                for(int i=0;i<2000;i++){}
                Location loc=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
                locationManager.removeUpdates(lis);
                start=new GeoPoint((int)(loc.getLatitude()), (int)(loc.getLongitude()));
                //Object mapView;
                // Visualizziamo il punto iniziale
                mapView.getController().setCenter(start);
                mapView.getController().setZoom(9);
                mapView.setSatellite(true);
                Intent intent=getIntent();
                String pkg=getPackageName();
                selezionati=(ArrayList<Poi>)intent.getSerializableExtra(pkg+"selezionati");
                dist=intent.getIntExtra(pkg+"distanza", -1);
                createOut();
                // Gestiamo gli Overlay
                Drawable starImg = getResources().getDrawable(R.drawable.icon);
                PoiOverlay overlays = new PoiOverlay(starImg,out);
                mapView.getOverlays().add(overlays);
        }

 ho settato la mapview clickable,ma non funziona...al tocco dovrei visualizzare il buit-in zoom ma invece ìmi da eccezione...

AUITOOOOOOOOOOO :(

Offline ienariden

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
Re:Problema mapview
« Risposta #1 il: 07 Agosto 2011, 17:32:56 CEST »
0
ho notato che il problema si presenta perchè ho messo gli overlays...in effetti è una nullpointerexception... se non li aggiungo funziona

Offline ienariden

  • Nuovo arrivato
  • *
  • Post: 25
  • Respect: 0
    • Mostra profilo
Re:Problema mapview
« Risposta #2 il: 07 Agosto 2011, 17:51:18 CEST »
0
Ho risolto... non avevo usato il metodo populate() nella mia classe PoiOverlays