Estoy tratando de entender por qué este script PHP no está creando el mapa que especifico en el HTML. ¿algunas ideas?

<!doctype html>

<html>
    <head>

        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

        <style>

            html { height: 100% }
            body { height: 100%; margin: 0; padding: 0 }
            #map { height: 100% }

        </style>

        <script
        src="http://maps.googleapis.com/maps/api/js?sensor=false">

        </script>

        <?php
            $lat = $_POST['lat'];
            $long = $_POST['long'];

            echo "

        <script>

            function callMap() {

                var latlng = new google.maps.LatLng($lat, $long);"; ?>
                var options = {
                    zoom: 5,
                    center: latlng,
                    mapTypeId = google.maps.MapTypeId.TERRAIN

                };
                var map = new google.maps.Map(document.getElementById("map"),
                options);


            }

        </script>
    </head>
    <body onload="callMap()">
    <div id="map"></div>




    </body>

</html>
0
jerry 17 sep. 2011 a las 06:33

3 respuestas

La mejor respuesta

Su sintaxis de declaración options está en mal estado:

var options = {
    zoom: 5,
    center: latlng,
    mapTypeId = google.maps.MapTypeId.TERRAIN // ERROR
};

Debe ser

var options = {
    zoom: 5,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.TERRAIN
};
3
Alexander 18 sep. 2011 a las 07:33

No uso PHP, así que no puedo decir si hay algún problema con ese código. Si eliminó los valores PHP / lat / lon codificados, ¿funciona el mapa? Tal vez un problema podría ser qué valores está publicando el formulario con la latitud y la longitud. No está haciendo ningún tipo de validación para garantizar que se encuentren dentro de los límites aceptables, p. +90 a -90 para latitud y +180 a -180 para la longitud.

-1
duncan 18 sep. 2011 a las 07:18

También le falta un soporte en el enlace google js.

0
Rhys 17 sep. 2011 a las 02:42