partir - usar mysql y php con google maps
Google Maps: conversión de la dirección a latitud y longitud: back-end de PHP. (4)
es posible convertir (en PHP back-end):
<?php
$Address = "Street 1, City, Country"; // just normal address
?>
a
<?php
$LatLng = "10.0,20.0"; // latitude & lonitude
?>
El código que estoy usando actualmente es el predeterminado:
<script type=''text/javascript'' src=''https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false''></script>
<script>
function initialize() {
var myLatlng = new google.maps.LatLng(10.0,20.0);
var mapOptions = {
zoom: 16,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById(''map''), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: ''This is a caption''
});
}
google.maps.event.addDomListener(window, ''load'', initialize);
</script>
<div id="map"></div>
He estado leyendo https://developers.google.com/maps/documentation/geocoding por un tiempo, pero supongo que no soy lo suficientemente experimentado.
Gracias.
<?php
/*
* Given an address, return the longitude and latitude using The Google Geocoding API V3
*
*/
function Get_LatLng_From_Google_Maps($address) {
$address = urlencode($address);
$url = "http://maps.googleapis.com/maps/api/geocode/json?address=$address&sensor=false";
// Make the HTTP request
$data = @file_get_contents($url);
// Parse the json response
$jsondata = json_decode($data,true);
// If the json data is invalid, return empty array
if (!check_status($jsondata)) return array();
$LatLng = array(
''lat'' => $jsondata["results"][0]["geometry"]["location"]["lat"],
''lng'' => $jsondata["results"][0]["geometry"]["location"]["lng"],
);
return $LatLng;
}
/*
* Check if the json data from Google Geo is valid
*/
function check_status($jsondata) {
if ($jsondata["status"] == "OK") return true;
return false;
}
/*
* Print an array
*/
function d($a) {
echo "<pre>";
print_r($a);
echo "</pre>";
}
Para ver el código de ejemplo de cómo usar la función anterior, no dude en visitar mi blog
Sí tu puedes. Deberías hacer una solicitud con file_get_contents
o curl
a una url como esta:
http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false
Lo que se devuelve es una respuesta codificada json. Puede analizar esto en matrices utilizando json_decode
.
La página de documentación tiene un ejemplo de cómo se verá la respuesta, utilícela para encontrar los datos que necesita.
Esto funciona para mí:
<?php
$Address = urlencode($Address);
$request_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=".$Address."&sensor=true";
$xml = simplexml_load_file($request_url) or die("url not loading");
$status = $xml->status;
if ($status=="OK") {
$Lat = $xml->result->geometry->location->lat;
$Lon = $xml->result->geometry->location->lng;
$LatLng = "$Lat,$Lon";
}
?>
Referencias
this will work please try this one i have tested it .
<?php
$address = ''Street 1, City, Country''; // Your address
$prepAddr = str_replace('' '',''+'',$address);
$geocode=file_get_contents(''http://maps.google.com/maps/api/geocode/json?address=''.$prepAddr.''&sensor=false'');
$output= json_decode($geocode);
$lat = $output->results[0]->geometry->location->lat;
$long = $output->results[0]->geometry->location->lng;
echo $address.''<br>Lat: ''.$lat.''<br>Long: ''.$long;
?>