-
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 ()">
<div id="map" style="width:800px; height:800px"></div>
</ Body>
</ Html>