2012-08-25 14 views
6

Me considero un codificador PHP promedio, pero apenas puedo editar los pocos bits de código JavaScript que necesito en mis sitios web. Tengo una dirección en una variable de PHP y me gustaría que aparezca un mapa simple en mi página web con esa dirección. Investigué un poco en internet y encontré muchas opciones de geocodificación, convirtiendo una dirección en una ubicación que la API de Google entiende, pero estoy completamente perdido. ¿No hay un código simple en el que pueda insertar mis variables?Dirección en variable PHP, incrustación en Google Maps sin Javascript?

+0

Comprobar esta pregunta fuera , debería ayudar: http://stackoverflow.com/questions/4157750/passing-address-to-google-maps-on-page-load – BenOfTheNorth

Respuesta

21

Puede usar un iframe y pasar la dirección como un parámetro de URL.

<iframe width="640" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.it/maps?q=<?php echo $yourAddress; ?>&output=embed"></iframe> 
+1

¡Solución perfecta y súper fácil, gracias! – user1555076

+1

¡De nada! – Napolux

+1

¡Acabo de usar esto también, funcionó! – Supplement

3

Tendrás que usar el Geocoder API.

Aquí tiene (original se puede encontrar here):

<head> 
... 
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<script> 
    var geocoder; 
    var map; 
    function initialize() { 
    geocoder = new google.maps.Geocoder(); 

    var mapOptions = { 
     zoom: 12, //Change the Zoom level to suit your needs 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    //map_canvas is just a <div> on the page with the id="map_canvas" 
    map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions); 

    //Your Variable Containing The Address 
    var address = "<?php echo $AddressVariable; ?>"; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
     //places a marker on every location 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: results[0].geometry.location 
     }); 
     } else { 
     alert('Geocode was not successful for the following reason: ' + status); 
     } 
    }); 

    } 

</script> 
... 
</head> 

añadir esto a la etiqueta de apertura body de su página para inicializar el mapa:

<body onload="initialize()"> 

Y here's la documentación de la Geocoder clase.

0
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<?php 
$address = str_replace(" ", "+",$address_variable); 
?> 
<iframe style="width:100%;height:50%;" frameborder="0" id="cusmap" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.it/maps?q=<?php echo $address; ?>&output=embed"></iframe> 
Cuestiones relacionadas