This is my code:
<?php
require("phpsqlgeocode_dbinfo.php");
define("MAPS_HOST", "maps.google.com");
define("KEY",
"ABQIAAAASxOW0sFRTtwHqMg4ukQLLhTHs9lI5o6Df0HCZVlYC_EU9t1n4hTvthF3c2nVcAxAbeABdUWC2QR7Zw");
// Opens a connection to a MySQL server
$connection = mysql_connect($server, $username, $password);
if (!$connection) {
die("Not connected : " . mysql_error());
}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die("Can\'t use db : " . mysql_error());
}
// Select all the rows in the markers table. We assume that the name
of the table is markers2
$query = "SELECT * FROM suppliers_details WHERE 1";
$result = mysql_query($query);
if (!$result) {
die("Invalid query: " . mysql_error());
}
// Initialize delay in geocode speed. On intialise le délai entre
chaque demande de géocodage.
$delay = 0;
$base_url = "http://" . MAPS_HOST . "/maps/geo?output=csv&key=" . KEY;
// Iterate through the rows, geocoding each address
while ($row = @mysql_fetch_assoc($result)) {
$geocode_pending = true;
while ($geocode_pending) {
$address = $row["suppliers_address"];
$city = $row["suppliers_city"];
$postalcode = $row["suppliers_postalcode"];
$state = $row["suppliers_state"];
$country = $row["suppliers_country"];
$id = $row["suppliers_details_id"];
$espace= " ";
$address_complete = $address.$espace.$city.$espace.$postalcode.
$espace.$state.$espace.$country ;
$request_url = $base_url . "&q=" . urlencode
($address_complete); // geocoding
$csv = file_get_contents($request_url) or die("url not
loading"); // result of geocoding
$csvSplit = split(",", $csv); // transform the result to array
$status = $csvSplit[0];
$lat = $csvSplit[2];
$lng = $csvSplit[3];
if (strcmp($status, "200") == 0) {
// successful geocode
$geocode_pending = false;
$lat = $csvSplit[2];
$lng = $csvSplit[3];
$query = sprintf("UPDATE suppliers_details " .
" SET suppliers_latitude= '%s', suppliers_longitude =
'%s' " .
" WHERE suppliers_details_id = %s LIMIT 1;",
mysql_real_escape_string($lat),
mysql_real_escape_string($lng),
mysql_real_escape_string($id));
$update_result = mysql_query($query);
if($update_result){
echo "The geocoding of adresse <b> ".$address_complete." </b> has
been a succès <br>";
}
if (!$update_result) {
die("Invalid query: " . mysql_error());
}
} else if (strcmp($status, "620") == 0) {
// sent geocodes too fast
$delay += 100000;
} else {
// failure to geocode
$geocode_pending = false;
echo "Address " . $address_complete . " failed to geocoded. ";
echo "Received status " . $status . "
\n";
}
usleep($delay); //suspend l'exécution du programme appelant durant
$delay microsecondes
}
}
?>
On 28 jan, 01:56, momo72 <[email protected]> wrote:
> Hello,
> I have a problem. I want to geocode 4,000 adresses on a database, but
> i have this message "........ failed to geocoded. Received status 602
> "
> my page is on http://www.towtab.com/locatorStore.php.
> Before putting my code on this page i test it on a little database of
> 5 adresses and there is no problem.
> Please some body can help me?
> Thank you.
>
> MOMO 72
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Maps API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Google-Maps-API?hl=en
-~----------~----~----~----~------~----~------~--~---