Hvordan begynne en Google Maps-applikasjon med PHP

Hvordan begynne en Google Maps-applikasjon med PHP


For å starte et Google Maps-programmet med PHP, må du opprette et PHP-script som vil utgangsdata som trengs av Google Maps-programmet i et XML format. Deretter må du opprette Google Maps-programmet funksjonalitet med HTML og Javascript og ringe PHP script for å hente dataene som trengs for kartet. Du kan eventuelt kapsle hele Google Maps-programmet i en PHP-fil, i stedet for i en HTML-fil, for å inkludere ekstra logikk.

Bruksanvisning

Lag PHP Script

1 Lag en PHP klasse å lagre lengde- og breddegrader og en beskrivelse. For eksempel inn:

<? Php

klasse Koordinering {

public $latitude, $longitude, $description;

offentlig funksjon __construct ($ lat, $ lng, $ beskrivelse) {

$ Dette-> breddegrad = $ lat;

$ Dette-> lengdegrad = $ lng;

$ Dette-> description = $ beskrivelse;

}

}

2 Lag en PHP klasse til å lagre en rekke koordinater forbundet med et identifikasjonsnavn og beskrivelse. Legg en funksjon til klassen for å sende ut et XML versjon av dataene. For eksempel inn:

klasse Koordinater {

protected $coordinates;

offentlig funksjon __construct () {

$ Dette-> koordinerer = array ();

}

offentlig funksjon add ($ name, $ beskrivelse, $ lat, $ lng) {

$ Dette-> koordinerer [$ navn] = ny Koordinere ($ lat, $ lng, $ beskrivelse);

}

offentlig funksjon output_xml () {

$ Xml = ny DOMDocument ( "1.0");

$ Node = $ xml-> createElement ( "markører");

$ Root = $ xml-> appendChild ($ node);

foreach ($ dette-> koordinater som $ key => $ value) {

$ Node = $ xml-> createElement ( "markør");

$ Newnode = $ root-> appendChild ($ node);

$ Newnode-> setAttribute ( "by", $ tasten);

$ Newnode-> setAttribute ( "lat", $ verdi-> breddegrad);

$ Newnode-> setAttribute ( "lng", $ verdi-> lengdegrad);

$ Newnode-> setAttribute ( "desc", $ verdi-> beskrivelse);

}

echo $ xml-> saveXML ();

}

}

3 Lag hoved PHP program for å lagre lengde- og breddegrad for utvalgte byer og utgang en XML-versjon av data når programmet kjøres. For eksempel inn:

$ byer = nye koordinater ();

$ Byer-> legge til ( "Nassau", "Bahamas", "25,08333", "-77,3333");

$ Byer-> legge til ( "Cairo", "Egypt", "36,01667", "31,2333");

$ Byer-> legge til ( "Paris", "Frankrike", "48,83333", "2,33333");

$ Byer-> legge til ( "Beijing", "Kina", "39,91667", "116,3333");

$ Byer-> legge til ( "Santiago", "Chile", "-33,40000", "-70,66667");

$ Byer-> output_xml ();

?>

Lag Google Maps Application

4 Opprett en ny PHP-fil hvis du vil inkludere PHP logikk med hovedprogrammet. Lag HTML overskrifter for websiden. For eksempel inn:

<? Php

$ CUSTOM_NAME = "Steve";

?>

<! DOCTYPE html>

<Head>

<Meta name = "view" content = "innledende skala = 1,0, bruker skalerbar = no" />

<Meta http-equiv = "Content-Type" content = "text / html; charset = utf-8" />

<Title> <? Php echo $ CUSTOM_NAME; ?> 'S kart over International Cities </ title>

5 Inkluder eksterne Google Maps API Javscript bibliotek. For eksempel inn:

<Script type = "text / javascript"> </ script>

6 Lag hovedJavaScript-program. Begynn skriptet ved å opprette en variabel til å lagre kartet. For eksempel inn:

<Script type = "text / javascript">

var map;

7 Lag en funksjon for å vise kartet på skjermen. Begynn med å definere alternativene for kartet. Lag kartet og skape en variabel for pop-up informasjonsvinduet. For eksempel inn:

function create() {

Var NewYork = ny google.maps.LatLng (40,69847032728747, -73,9514422416687);

Var mapOptions = {zoom: 13, senter: newyork, MapTypeId: "veikart"};

kart = ny google.maps.Map (document.getElementById ( "kart"), mapOptions);

infoWindow = ny google.maps.InfoWindow;

8 Ring en funksjon som asynkront vil hente data fra PHP-filen. Lag tilbakeringingsfunksjonen som vil behandle data og plotte markørene på kartet. For eksempel inn:

downloadPHPData("coordinates.php", function(data) {

Var xml = data.responseXML;

Var markører = xml.documentElement.getElementsByTagName ( "markør");

for (var i = 0; i & lt; markers.length, jeg ++) {

Var i byen = markører [i] .getAttribute ( "by");

Var poeng = nye google.maps.LatLng (parseFloat (markører [i] .getAttribute ( "lat")), parseFloat (markører [i] .getAttribute ( "lng")));

Var html = city + "," + markører [i] .getAttribute ( "desc");

Var markør = ny google.maps.Marker ({kartet: kart, posisjon: punkt, tittel: city});

bindInfoWindow (markør, kart, infoWindow, html);

}

});

}

9 Lag funksjonen til asynkront hente data og gi det til tilbakeringingsfunksjonen. For eksempel inn:

function downloadPHPData(URL, callback) {

Var request = window.ActiveXObject? ny ActiveXObject ( "Microsoft.XMLHTTP"): ny XMLHttpRequest;

request.onreadystatechange = function () {

if (request.readyState == 4) {

request.onreadystatechange = doNothing;

tilbakeringing (forespørsel, request.status);

}

};

request.open ( 'GET', URL, true);

request.send (null);

}

fungere doNothing () {

}

10 Lag funksjonen til pop-up informasjonsvinduet når en markør klikkes. For eksempel inn:

function bindInfoWindow(marker, map, infoWindow, html) {

google.maps.event.addListener (markør, "klikk", function () {

infoWindow.setContent (html);

infoWindow.open (kart, men da);

});

}

11 Lukk skriptmerket, lukker hodet tag, og skape den viktigste HTML-kode for å etablere "div" for kartet, og å lansere "Create" -funksjonen når siden lastes. For eksempel inn:

</ Script>

</ Head>

<Body onload = "lage ()">

&lt;div id="map" style="width:800px; height:800px">&lt;/div>

</ Body>

</ Html>