Autore Topic: Come Visualizzare un marcatore sulla mappa  (Letto 1450 volte)

Offline mtdv

  • Utente junior
  • **
  • Post: 103
  • Respect: 0
    • Mostra profilo
Come Visualizzare un marcatore sulla mappa
« il: 14 Novembre 2010, 16:27:52 CET »
0
Salve ho creato un progetto che prende diversi punti gps e ogni volta che ne inserico uno nuovo, viene visualizzato il punto sulla mappa;
vorrei fare in modo che ogni punto che io inserisco venga marcato con un "pallino" quali sono i passi che devo fare?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Come Visualizzare un marcatore sulla mappa
« Risposta #1 il: 14 Novembre 2010, 16:39:55 CET »
0
Salve ho creato un progetto che prende diversi punti gps e ogni volta che ne inserico uno nuovo, viene visualizzato il punto sulla mappa;
vorrei fare in modo che ogni punto che io inserisco venga marcato con un "pallino" quali sono i passi che devo fare?

Non ho ben capito se chiedi un'indicazione generale di dove partire per fare un'applicazione del genere, oppure se hai un problema molto specifico. Supponendo sia la prima, come ti sembra Hello MapView delle documentazione ufficiale, fa al caso tuo?

NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline mtdv

  • Utente junior
  • **
  • Post: 103
  • Respect: 0
    • Mostra profilo
Re:Come Visualizzare un marcatore sulla mappa
« Risposta #2 il: 14 Novembre 2010, 16:52:03 CET »
0
Si avevo gia visto quella documentazione pero non riesco ad utilizzarla per il mio caso ,mi spiego meglio....
io ho un progetto dove creo la mappa e la visualizzo ,ora devo inserire un marcatore sulla mappa nell'esempio da te proposto devo creare un nuovo progetto e questo io non posso farlo :)
Posso creare una sottoclasse che gestisce la visualizzazione dei marcatori??

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Come Visualizzare un marcatore sulla mappa
« Risposta #3 il: 14 Novembre 2010, 17:09:01 CET »
0
Si avevo gia visto quella documentazione pero non riesco ad utilizzarla per il mio caso ,mi spiego meglio.... io ho un progetto dove creo la mappa e la visualizzo,

Se hai un problema specifico, devi postare ben più di una descrizione generica.

ora devo inserire un marcatore sulla mappa nell'esempio da te proposto devo creare un nuovo progetto e questo io non posso farlo :)

Perchè non puoi?

Posso creare una sottoclasse che gestisce la visualizzazione dei marcatori??

Sottoclasse di cosa?

Come dicevo sopra, devi essere molto più specifico, più codice posti e più spiegazioni dai sul funzionamento del tuo codice e maggiori sono le possibilità che ti rispondano.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline mtdv

  • Utente junior
  • **
  • Post: 103
  • Respect: 0
    • Mostra profilo
Re:Come Visualizzare un marcatore sulla mappa
« Risposta #4 il: 16 Novembre 2010, 11:56:05 CET »
0
Il mio problema è inserire un marcatore su un punto specifico della mappa
Codice (Java): [Seleziona]
public class Mappa extends MapActivity {
    /**
     * permette la notifica di eventi provenienti dal GPS
     */

        private final class ListenerGPS implements LocationListener {
                @Override
                public void onLocationChanged(Location location) {
                        // TODO Auto-generated method stub
                        mapView.invalidate();//aggiorna il marker della mappa
////////////////////////LATITUDINE LONGITUDINE//////////////////////
                        Double geoLat = location.getLatitude() * 1E6;
                        Double geoLng = location.getLongitude() * 1E6;
                        GeoPoint point = new GeoPoint(geoLat.intValue(), geoLng.intValue());
                        mapController.animateTo(point);
////////////////////////////DATA///////////////////////////
                        Date data = new Date();
                        data.getDay();
                        data.getHours();
                        data.getMinutes();
                        data.getSeconds();
/////////////////////////////////////////////////////////                      
                        tvLatitudine.setText("La latitudine inserita è "+ Double.toString(getRound(location.getLatitude(), 5))); // latitudine
                        tvLongitudine.setText("La longitudine inserita è "+ Double.toString(getRound(location.getLongitude(), 5)));
                        tvData.setText(data.toString());
                }

                private double getRound(double longitude, int digits) {
                        // TODO Auto-generated method stub
                        double powerOfTen = Math.pow(10, digits);
                        return ((double) Math.round(longitude * powerOfTen) / powerOfTen);
                }

                @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

                }
        }
        private TextView tvData;
        private TextView tvLatitudine;
        private TextView tvLongitudine;
        // private TextView tvOra;
        private TextView Mess_init;
        // Riferimento alla mappa
        private MapView mapView;
        // Riferimento al MapController
        MapController mapController;

        // Riferimento al MyLocationOverlay
        private MyLocationOverlay myLocationOverlay;

        // Otteniamo il riferimento al LocationManager
        LocationManager locationManager;

        public void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);
                setContentView(R.layout.seconda);

                tvLatitudine = (TextView) this.findViewById(R.id.lat);
                tvLongitudine = (TextView) this.findViewById(R.id.lon);
                tvData = (TextView) this.findViewById(R.id.tempo);
                // Otteniamo il riferimento alla MapView
                mapView = (MapView) findViewById(R.id.mapView);
                mapView .setMinimumWidth(400);
               
                // Otteniamo il riferimento al controller
                mapController = mapView.getController();

                Button Button1 = (Button) findViewById(R.id.Button01);
               
                // 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);
                // Impostiamo la distanza dello Zoom a 12 (valori validi da 1 a 21).
                mapController.setZoom(15);
                // Aggiungiamo l'overlay sulla mappa della nostra posizione
                myLocationOverlay = new MyLocationOverlay(this, mapView);
                List<Overlay> overlays = mapView.getOverlays();
                overlays.add(myLocationOverlay);
                myLocationOverlay.enableMyLocation();
                /////////LISTA DI PUNTI/////////////////////////////
                List<OverlayItem> punti = new LinkedList<OverlayItem>();
                Drawable defaultMarker;
        //////////////////////////////////////////////////////
                // Otteniamo il riferimento al LocationManager
                locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
                if (!locationManager.isProviderEnabled("gps")) {
                        Toast.makeText(this,"GPS è attualmente disabilitato. E' possibile abilitarlo dal menu impostazioni.",Toast.LENGTH_LONG).show();
                }
                locationListener = new ListenerGPS();
                locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

               

                Button1.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                // Bottone che torna indietro all'activity precedente
                                finish();

                        };
                });
                //setta il centro della mappa
                mapController.setCenter(new GeoPoint((int)(1.00000000*1E6), (int)(1.00000000*1E6)));
                Toast.makeText(this, "Setto centro mappa nella coordinata stabilita", Toast.LENGTH_LONG).show();
        }

        LocationListener locationListener;
       
       
        @Override
        protected boolean isRouteDisplayed() {
                // TODO Auto-generated method stub
                return false;
        }

}

Ora vorrei marcare il  punto GPS  di coordinate 1.00000000 1.00000000cosa devo fare???

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Come Visualizzare un marcatore sulla mappa
« Risposta #5 il: 16 Novembre 2010, 12:28:58 CET »
0
Purtroppo non ho mai provato ad usare le mappe, però a sensazione vedrei come aggiungere un item alla lista di punti che già hai.

Puoi anche provare a vedere questo altro tutorial, sembra ben fatto.
Using Google Maps in Android | mobiForge
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline mtdv

  • Utente junior
  • **
  • Post: 103
  • Respect: 0
    • Mostra profilo
Re:Come Visualizzare un marcatore sulla mappa
« Risposta #6 il: 17 Marzo 2011, 21:37:31 CET »
0
perfetto... funziona ho seguito la guida e funziona :) grazie mille