Помощь будет оценена по этому вопросу. У меня есть список физических адресов txt/xml, которые я передаю через сценарий геокодирования Google Maps, но столкнулся с проблемой, когда адрес выплескивает нулевое значение в файле coord_lat, и моя база данных MySQL отвергает это. Я получаю ошибку HTTP-запроса, поэтому я считаю, что это проблема, когда Google Maps отклоняет мое соединение и возвращает нулевое значение, которое затем ломает мой скрипт/базу данных. Кто-нибудь знает, как исправить это соединение и/или добавить что-то в скрипт? В настоящее время я использую HostGator в качестве своего хостинга.Ошибка HTTP-запроса - Геокодирование/HostGator Google Maps
Предупреждение: file_get_contents (http://maps.google.com/maps/geo?key=AIzaSyBmT9F_ixjLlW8oDiYVqgHqt1888&output=xml&q=xxx+here) [function.file-get-contents]: не удалось открыть поток: запрос HTTP не удался! HTTP/1.0 403 Запрещено в /includes/func.php в строке 297 {"status": "Failed", "data": "SQLSTATE [23000]: нарушение ограничения целостности: 1048 Столбец 'coord_lat' не может быть нулевым}} ErrorSyntaxError: Неожиданные лексемы
function get_lat_long($address, $zipcode) {
if(strlen($zipcode) == 4){
$zipcode = '0' . $zipcode;
//echo $zipcode . "\n";
}
$apikey = "AIzaSyBmT9F_ixjLlW8oDiYVqgHqt1888";
$geourl = "http://maps.google.com/maps/geo?key=" . $apikey . "&output=xml&q=" . urlencode($address) . "+" . urlencode($zipcode);
//echo $geourl;
//echo "<br>";
// Grab XML content using $geourl
$context = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$xml = file_get_contents($geourl, false, $context);
$xml = simplexml_load_string($xml);
//Parse the lat and long from the XML
$Lat = $xml->results->result->locations->location->displayLatLng->latLng->lat;
//echo $Lat;
$Lng = $xml->results->result->locations->location->displayLatLng->latLng->lng;
//echo $Lng;
//Return
if($Lng && $Lat) {
return array('lat'=>$Lat,
'lng'=>$Lng
);
} else {
return false;
}
}
Я считаю, что вы правы. Я заметил в $ url, что египт включен. Как добавить мой уретенкод? urlencode ($ address). «+». urlencode ($ zipcode); 'к этому URL-адресу? – chronotrigga
попробуйте следующее: json? Components = country: us | postal_code: zipcode & sensor = false –