Domanda

Quando viene posizionato un marcatore, voglio chiamare una funzione php (in un altro file) con la latitudine e la longitudine come input e output il risultato in un div sulla pagina. Quindi, ogni volta che il marker viene spostato, aggiorna il div con l'ultimo risultato della funzione.

So che avrei bisogno di JavaScript per farlo, ma non ne ho molta familiarità e qualsiasi aiuto sarebbe apprezzato.

È stato utile?

Soluzione

Ecco un esempio che utilizza jQuery per attivare un HTTP GET quando un marker viene aggiunto alla mappa e ogni volta che viene trascinato. Il risultato della richiesta viene inserito in un div con ID "outputdiv".

// create and init map (make sure to have a div element with id "map")
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);

// this is the marker you want to track
var marker = new GMarker(new GLatLng(37.4419, -122.1419));
map.addOverlay(marker);

// create function to be executed on add/end of drag
var changeCallback = function(latlng) {
  // do HTTP GET to execute PHP function in file, with coordinate
  // as parameter and put result in div with id "outputdiv"
  $("#outputdiv").load("test.php?latlng=" + latlng.toUrlValue());
};

// add listener triggered whenever drag of marker has ended
GEvent.addListener(marker, "dragend", changeCallback);

// explicitly call when added
changeCallback(marker.getLatLng());

Aggiorna per rispondere al commento: il parametro latlng della funzione di callback è GLatLng in cui è possibile utilizzare lat () e lng () per recuperare i singoli valori. Vedi Riferimento API di Google Maps per dettagli.

Altri suggerimenti

È necessario utilizzare JavaScript e XML asincroni (noti come AJAX). Un bel tutorial sull'argomento può essere trovato qui: http://www.w3schools.com/Ajax/ default.asp .

In effetti, sarai probabilmente in grado di fare ciò che hai descritto dopo aver passato questi esempi.

  1. Per prima cosa devi creare l'oggetto XMLHttpRequest in JavaScript in questo modo: http: // www. w3schools.com/Ajax/ajax_browsers.asp
  2. Quindi leggi come definire il metodo onreadystatechange () : è qui che si specifica cosa succede quando il server (la funzione che si desidera chiamare) risponde.
  3. Quindi invia la richiesta alla funzione, che dovresti essere in grado di chiamare interrogando un file php con una richiesta GET o POST in questo modo: xmlhttp.open (" GET ", " myfunction.php ", true); xmlhttp.send (null) ;

Per il resto basta seguire il tutorial e dovresti stare bene. Hai davvero bisogno di un tutorial da seguire: javascript è abbastanza facile da copiare / incollare e modificare: D

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