Tecnología

Inicio

Cómo empezar una aplicación de Google Maps con PHP

Cómo empezar una aplicación de Google Maps con PHP


Para empezar una aplicación de Google Maps con PHP, es necesario crear un script PHP que los datos de salida que necesita la aplicación Google Maps en un formato XML. A continuación, deberá crear la funcionalidad de la aplicación Google Maps con HTML y Javascript y llamar al script PHP para recuperar los datos necesarios para el mapa. Puede encapsular opcionalmente toda la aplicación Google Maps dentro de un archivo PHP, y no dentro de un archivo HTML, para incluir lógica adicional.

Instrucciones

Crear Script PHP

1 Crear una clase PHP para almacenar las coordenadas de latitud y longitud y una descripción. Por ejemplo, escriba:

<? Php

Coordinar la clase {

public $latitude, $longitude, $description;

__construct función pública ($ lat, lng $, descripción $) {

$ This-> latitud = $ lat;

$ This-> longitud = $ lng;

$ This-> Descripción Descripción = $;

}

}

2 Crear una clase PHP para almacenar un conjunto de coordenadas asociadas con un nombre de identificación y descripción. Agregar una función a la clase a la salida de una versión XML de los datos. Por ejemplo, escriba:

Coordenadas de clase {

protected $coordinates;

__construct función pública () {

$ This-> coordenadas = array ();

}

función de complemento pública ($ nombre, descripción $, $ lat, lng $) {

$ This-> coordenadas [$ name] = nueva coordenada ($ lat, lng $, $ description);

}

output_xml función pública () {

$ Xml = new DOMDocument ( "1.0");

$ Nodo = $ xml-> createElement ( "marcadores");

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

foreach ($ this-> coordina como clave => valor de $ $) {

$ Nodo = $ xml-> createElement ( "marcador");

$ = $ Nodo_nuevo root-> appendChild ($ nodo);

$ Newnode-> setAttribute ( "ciudad", $ key);

$ Newnode-> setAttribute ( "lat", de valor $> latitud);

$ Newnode-> setAttribute ( "GNL", de valor $> longitud);

$ Newnode-> setAttribute ( "desc", $ de valor> Descripción);

}

echo $ xml-> saveXML ();

}

}

3 Crear el programa principal de PHP para almacenar la latitud y longitud de las ciudades y de salida seleccionado una versión XML de los datos cuando se ejecuta el programa. Por ejemplo, escriba:

$ = ciudades nuevas coordenadas ();

$ Ciudades-> añadir ( "Nassau", "Bahamas", "25.08333", "-77.3333");

$ Ciudades-> añadir ( "El Cairo", "Egipto", "36.01667", "31.2333");

$ Ciudades-> añadir ( "París", "Francia", "48.83333", "2,33333");

$ Ciudades-> añadir ( "Beijing", "China", "39.91667", "116.3333");

$ Ciudades-> añadir ( "Santiago", "Chile", "-33.40000", "-70.66667");

$ Ciudades-> output_xml ();

?>

Crear mapas de Google Aplicación

4 Crear un nuevo archivo PHP si desea incluir lógica de PHP con el programa principal. Crear las cabeceras HTML para la página Web. Por ejemplo, escriba:

<? Php

$ Custom_name = "Steve";

?>

<! DOCTYPE html>

<Head>

<Meta name = "viewport" content = "escala inicial = 1.0, escalable user = no" />

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

? <Title> <? Php echo $ custom_name; ?> 'S Mapa de las ciudades internacionales </ title>

5 Incluya la API de Google Maps javscript biblioteca externa. Por ejemplo, escriba:

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

6 Crear el programa principal Javascript. Comience la secuencia de comandos mediante la creación de una variable para almacenar el mapa. Por ejemplo, escriba:

<Script type = "text / javascript">

var map;

7 Crear una función para mostrar el mapa en la pantalla. Comenzar por definir las opciones para el mapa. Crear el mapa y crear una variable para la ventana de información emergente. Por ejemplo, escriba:

function create() {

var newYork = new google.maps.LatLng (40,69847032728747, -73.9514422416687);

mapOptions var = {zoom: 13, centro de: newYork, mapTypeId: "hoja de ruta"};

mapa = new google.maps.Map (document.getElementById ( "mapa"), mapOptions);

infoWindow = new google.maps.InfoWindow;

8 Llamar a una función que asincrónicamente va a recuperar los datos del archivo PHP. Cree la función de devolución de llamada que procesará los datos y trazar los marcadores en el mapa. Por ejemplo, escriba:

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

var xml = data.responseXML;

marcadores var = xml.documentElement.getElementsByTagName ( "marcadores");

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

var = marcadores de la ciudad [i] .getAttribute ( "ciudad");

var = new google.maps.LatLng puntuales (parseFloat (marcadores [i] .getAttribute ( "lat")), parseFloat (marcadores [i] .getAttribute ( "GNL")));

var html = ciudad + "," + marcadores [i] .getAttribute ( "desc");

var = marcador de nuevo google.maps.Marker ({mapa: mapa, posición: punto, título: ciudad});

bindInfoWindow (marcador, mapa, infoWindow, html);

}

});

}

9 Cree la función para recuperar los datos de forma asíncrona y pasarlo a la función de devolución de llamada. Por ejemplo, escriba:

function downloadPHPData(URL, callback) {

var request = window.ActiveXObject? nueva ActiveXObject ( "Microsoft.XMLHTTP"): new XMLHttpRequest;

request.onreadystatechange = function () {

si (== request.readyState 4) {

request.onreadystatechange = DoNothing;

devolución de llamada (request, request.status);

}

};

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

request.send (null);

}

DoNothing funcionar () {

}

10 Cree la función para que aparezca la ventana de información cuando se hace clic en un marcador. Por ejemplo, escriba:

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

google.maps.event.addListener (marcador de "clic", function () {

infoWindow.setContent (html);

infoWindow.open (mapa, marcador);

});

}

11 Cierre la etiqueta de script, cerrar la etiqueta de la cabeza, y crear el código HTML principal para establecer el "div" para el mapa y poner en marcha los cuando se carga el "crear" la función de página. Por ejemplo, escriba:

</ Script>

</ Head>

<Body onload = "create ()">

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

</ Body>

</ Html>