Domanda

sto usando GoogleMaps e ho 2 o più marcatori e sono trascinabili. Voglio scattare 2 marcatori se sono vicini e unirle in 1. è possibile?

Qualcuno può darmi puntatori .. come posso capire che?

È stato utile?

Soluzione

È necessario gestire le href="http://code.google.com/apis/maps/documentation/reference.html#GMarker.drag" evento di trascinamento nella GMarker oggetto. Il trucco è quello che si fa quando si rileva che vi sono abbastanza vicino ad un altro marcatore per scattare insieme. I giocato un po 'un po' con questo e pensato che forse nasconde il marcatore attualmente trascinato potrebbe essere un buon modo per andare.

GEvent.addListener(marker, "drag", function(point) {

    // iterate over your points and for each otherPoint...
    if (near (point, otherPoint))
    {
        // hide this marker
        marker.hide ();

        // move nearby marker to indicate merge?

        // then delete the dragged marker on the dragend (if it was merged)
    }
}

Non è una soluzione del tutto elegante, ma potrebbe soddisfare i vostri scopi.

Modifica : Mi chiedevo se si stesse cercando il codice per controllare luoghi, così ho aggiornato il mio esempio per farlo:

function near (point1, point2)
{
    sw = new GLatLng(point2.lat() - 0.005, point2.lng() - 0.005);
    ne = new GLatLng(point2.lat() + 0.005, point2.lng() + 0.005);
    var bounds = new GLatLngBounds(sw, ne);
    if (bounds.contains (point1))
        return true;

    return false;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top