我会尽量简短:如果您需要更多信息,我会告诉您。我正在使用此代码从 Google 地图获取信息:
<?php
function getData($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0); //Change this to a 1 to return headers
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$url = 'http://maps.google.com/maps/geo?output=xml&q=' . urlencode($startPlace);
$url = 'http://maps.google.com/maps/api/geocode/json?sensor=false&gl=IT&address=' . urlencode($startPlace);
$xml = simplexml_load_string($this->getData($this->url)) or die("Error loading xml data");
$points = $xml->Response->Placemark->Point->coordinates;
$provincia = $xml->Response->Placemark->AddressDetails->Country->AdministrativeArea->SubAdministrativeArea->SubAdministrativeAreaName;
$regione =$xml->Response->Placemark->AddressDetails->Country->AdministrativeArea->AdministrativeAreaName;
echo $regione."<br>";
preg_match_all("/-*[0-9.]*(?=,)/", $points[0], $matches);
$longitude = $matches[0][0];
$latitude = $matches[0][2];
该代码用于检索有关意大利位置的信息,直到三天前,一切正常,但今天早上我看到了一些奇怪的东西:代码返回的 $regione ($xml->Response->Placemark->AddressDetails->Country-> AdministrativeArea->AdministrativeAreaName;) 有一个英文名称。假设找到的位置是伦巴第的一个小镇(其中“伦巴第”是行政区的名称),谷歌地图返回的行政区名称不再是“伦巴第”而是“伦巴第”。
由于此数据用于在本地数据库中搜索行政区域内的其他地方,并且由于数据库中使用的名称显然是意大利名称,因此应用程序不再工作。
我将不胜感激任何建议