Autore Topic: Marker non si aggiorna  (Letto 720 volte)

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Marker non si aggiorna
« il: 24 Dicembre 2013, 11:03:14 CET »
0
Mi odierete per tutte queste discussioni  :-[ Ma una volta finito il progetto vedrete che uscirà una bella cosetta (e potrò scrivere qualche
tutorial magari).

Problemino del giorno: il marker rimane fisso alla mia posizione nonostante abbia impostato il tutto per poterlo aggiornare in seguito
ad un mio spostamento.

Codice:

Codice: [Seleziona]
private LocationListener mLocationListener = new LocationListener() {

        @Override
        public void onLocationChanged(Location location) {
            Log.d(TAG_LOG, "In onLocationChanged(...)");
            showMapFragment();
        }
    };

    /*Metodo che si occupa di mostrare la mappa nella UI che invochiamo quando
      la location è disponibile.*/
    private void showMapFragment() {
        Log.d(TAG_LOG, "In showMapFragment()");
        Fragment existingMapFragment = getSupportFragmentManager().findFragmentByTag(MAP_FRAGMENT_TAG);
        if (existingMapFragment == null && mCurrentLocation != null) {
            Log.d(TAG_LOG, "Nell'if di showMapFragment");
            //Creo il map fragment
            SupportMapFragment mapFragment = new CallbackMapFragment();
            FragmentTransaction fragmentTransaction =
                    getSupportFragmentManager().beginTransaction();
            fragmentTransaction.add(R.id.anchor_point, mapFragment, MAP_FRAGMENT_TAG);
            fragmentTransaction.commit();
        } else {
            Log.d(TAG_LOG, "Nell'else di showMapFragment");
            //Otteniamo il riferimento alla GoogleMap
            mGoogleMap = ((SupportMapFragment) existingMapFragment).getMap();
            mGoogleMap.setMyLocationEnabled(true);
            //Impostiamo il tipo di mappa
            synchMapType();
            //Creiamo ed aggiungiramo il marker
            final LatLng newLatLng = new LatLng(mCurrentLocation.getLatitude(), mCurrentLocation.getLongitude());
            if(mHereMarker == null) {
                Log.d(TAG_LOG, "Creo il marker relativo alla mia posizione.");
                final MarkerOptions markerOptions = new MarkerOptions();
                markerOptions.position(newLatLng).title("My Position")
                        .snippet("[" + newLatLng.latitude + "," + newLatLng.longitude + "]");
                mHereMarker = mGoogleMap.addMarker(markerOptions);
            }
            else {
                Log.d(TAG_LOG, "Aggiorno la posizione del marker..");
                mHereMarker.setPosition(newLatLng);
            }
        }
    }

Mi entra correttamente qui:

Codice: [Seleziona]
else {
                Log.d(TAG_LOG, "Aggiorno la posizione del marker..");
                mHereMarker.setPosition(newLatLng);
            }

Però io vedo il pallino azzurro spostarsi, ma il marker no. Why? ._.
« Ultima modifica: 24 Dicembre 2013, 11:05:02 CET da Elmvor »

Offline minomic

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: +2
    • Mostra profilo
Re:Marker non si aggiorna
« Risposta #1 il: 06 Gennaio 2014, 16:39:05 CET »
0
Ciao, sono passati un po' di giorni comunque provo a rispondere lo stesso. Secondo me non vengono modificati i valori di newLatLng: prova a loggare latitudine e longitudine e vedi se ho ragione, perché magari mi sbaglio...

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Marker non si aggiorna
« Risposta #2 il: 07 Gennaio 2014, 14:02:15 CET »
0
Si, dimenticavo di ricalcolare la mia attuale posizione.