Domanda

Aggiornamento 07/12/2011: l'ho capito. Pubblicherò la soluzione non appena avrò finito con l'implementazione.

Sto creando un'applicazione Android che visualizzerà la posizione di più utenti su una mappa di Google. Gli utenti sono attualmente rappresentati come punti blu e verdi sulla mappa. Quando tocchi il punto blu che rappresenta la tua posizione, viene visualizzata una sovrapposizione personalizzata sulla mappa che dice "Posizione corrente"

http://imgur.com/7S1Bg

Il mio problema è che quando scorro o ingrandisco la mappa la sovrapposizione con "posizione corrente" rimane nello stesso punto mentre la mappa si sposta sotto di essa. Voglio che si muova con la mappa in modo che il popup sia sempre direttamente sopra il punto blu, come in questo esempio:

http://econy.org.uk/gmap/example_ewindow.htm.

Ecco come viene disposto il mio progetto di mappa:

Ho un'attività che estende com.google.android.maps.mapactivity. Questa attività ha come membro un oggetto com.google.android.maps.mapview. Gestisco le sovrapposizioni con un adiacentMapoverlayList (che estende itemizedOverlay).

Ecco il mio codice quando un utente fa clic sull'icona blu:

/*
 * Handle tap events.
 * 
 * @param index the item that was tapped
 */
@Override
protected boolean onTap(int index) {

    Log.d(TAG, "User clicked something");

    // get the item that was tapped
    OverlayItem item = (OverlayItem) getItem(index);

    // cast it
    AdjacentUserOverlay overlay = (AdjacentUserOverlay) item;

    // get the point from the item
    GeoPoint geo = overlay.getPoint();
    Point pt = m_mapView.getProjection().toPixels(geo, null);

    // display the dialog
    m_userPopupDialog.show(pt.x, pt.y);

    // true dat
    return true;
}

Immagino che ho bisogno di intercettare gli eventi del movimento della mappa e spostare manualmente i dialoghi popup, ma deve esserci un modo più semplice. Qualcuno può spiegare come farlo? Sarò tutto il giorno se hai bisogno di ulteriori informazioni. Grazie per qualsiasi consiglio!

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top