Buon giorno,
da qualche settimana la mia funzione php che trasforma un indirizzo (via roma, milano) in coordinate (latitudine longitudine) per google maps non funziona piu e restituisce errore 610.
Mi è stato detto che l'errore 610 è dato dalla funzione getGeocodeRequest che trova un errore nella Geocoding API V2 cessate ai primi di Marzo.
In pratica il mio codice cerca una cosa che non esiste più.
Per risolvere il problema dovrei sostituire nel codice obsoleto con la versione 3 delle API...
Ma come si fa????
Il codice che usavo era il seguente:
function address_in_coord($address){
$geocode_pending=true;
//Initialize delay in geocode speed
$delay=0;
$base_url="http://".MAPS_HOST."/maps/geo?output=xml&key=".KEY;
while($geocode_pending){
$request_url = $base_url . "&q=" . urlencode($address);
$xml=simplexml_load_file($request_url) or die("url not loading");
$status = $xml->Response->Status->code;
if (strcmp($status, "200") == 0){
// Successful geocode
$geocode_pending = false;
$coordinates = $xml->Response->Placemark->Point->coordinates;
$coordinatesSplit = explode(",", $coordinates);
// Format: Longitude, Latitude, Altitude
$lat = $coordinatesSplit[1];
$lng = $coordinatesSplit[0];
//echo $lat." --- ".$lng;
//punto di origine
$array=array();
$array[]=$lat;
$array[]=$lng;
return $array;
}elseif(strcmp($status, "620")==0) {
// sent geocodes too fast
$delay += 100000;
}else{
// failure to geocode
$geocode_pending=false;
return "Address ".$address." failed to geocoded. Received status ".$status."\n";
}
usleep($delay);
}//while
}
Grazie