我想通过邮政编码的帮助找到地方的经度和纬度。 谁能告诉我怎么做?
动作中的一个例子对我非常有帮助。因为我正在Flex中创建一个项目。
此致 Zee的
答案 0 :(得分:2)
您是否可以访问长/ lat数据库?如果没有,我相信你可以使用谷歌地图API进行查找。
哦,我刚刚注意到克里斯的回答。我不熟悉地名。您可能还想熟悉“http://freegeographytools.com/”,其中包含大量地理编码,gps等资源,适用于各种项目。啊......我刚刚访问了Eric的博文。这是极好的!我肯定会在未来的项目中与谷歌联系以获取更多细节。
答案 1 :(得分:2)
答案 2 :(得分:2)
我得到了解决你也可以
function getLatLong($code) {
$mapsApiKey = 'ABQIAAAAsV7S85DtCo0H9T4zv19FoRTdT40ApbWAnDYRE0-JyP5I6Ha9-xT9G5hCQO5UtOKSH5M3qhp5OXiWaA';
$query = "http://maps.google.co.uk/maps/geo?q=".urlencode($code)."&output=json&key=".$mapsApiKey;
$data = file_get_contents($query);
// if data returned
if($data) {
// convert into readable format
$data = json_decode($data);
$long = $data->Placemark[0]->Point->coordinates[0];
$lat = $data->Placemark[0]->Point->coordinates[1];
return array('Latitude'=>$lat, 'Longitude'=>$long);
} else {
return false;
}
}
答案 3 :(得分:1)
有几种格式的several places to get zip code databases。将它加载到您最喜欢的RDBMS中,然后查询。
或者,您可以使用其他人的网络服务为您查找价值。其他答案已发布可能的Web服务;此外,geocoder.us似乎现在也支持ZIP code lookup。
答案 4 :(得分:0)
现在有一个更好的解决方案,使用最新的Google Maps API(v3)。以下是multiple sources稍加修改的示例。我必须给予他们大部分功劳。这是PHP,使用cURL从Google检索数据,但您也可以使用Ajax。
function address_lookup($string){
$string = str_replace (" ", "+", urlencode($string));
$details_url = "http://maps.googleapis.com/maps/api/geocode/json?address=".$string."&sensor=false";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $details_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = json_decode(curl_exec($ch), true);
// If Status Code is ZERO_RESULTS, OVER_QUERY_LIMIT, REQUEST_DENIED or INVALID_REQUEST
if ($response['status'] != 'OK') {
return null;
}
$geometry = $response['results'][0]['geometry']['location'];
$array = array(
'lat' => $geometry['lat'],
'lng' => $geometry['lng'],
'state' => $response['results'][0]['address_components'][3]['short_name'],
'address' => $response['results'][0]['formatted_address']
);
return $array;
}
$zip= '01742';
$array = address_lookup($zip);
print_r($array);
答案 5 :(得分:0)
最简单的方法是使用Google Map Api。假设您在变量$ zipcode中有一个zipcode。
$latlongUrl = 'http://maps.googleapis.com/maps/api/geocode/json?components=postal_code:'.$zipcode;
$data = file_get_contents($latlongUrl); // you will get string data
$data = (json_decode($data)); // convert it into object with json_decode
$location = ($data->results[0]->geometry->location); // get location object
$ location是具有纬度和经度值的对象。