获得美国以外地区的经纬度

时间:2009-07-14 03:42:15

标签: php google-maps geocoding

Google地图API是否可以用于检索美国,法国,意大利,日本,澳大利亚等国家/地区的特定邮政编码或城市+地区组合的纬度和经度?

我正在开发一个需要本地搜索结果的项目。对于国内用户,我通过我们数据库中的美国邮政编码表检索他们的纬度/经度。它不涉及显示任何地图,只是通过基于纬度/经度值的半径公式显示其区域内其他用户的结果。对于外国用户的本地搜索结果:我只是根据匹配的城市名称显示结果。

目前,通过PHP GeoIP数据检索非美国用户lat / lon。我希望能够根据用户提供的城市+地区或邮政编码检索更准确的值。

我正在考虑为其他国家/地区提供邮政编码表(其中包含lat / lon字段)。或者Google Map API的想法是更好的解决方案吗?

3 个答案:

答案 0 :(得分:5)

我发现Google Maps Geocoder的结果非常好。

要测试您的外国邮政编码或地址(无需编写任何代码),只需将国家/地区名称附加到字符串中,然后在google maps搜索框中进行试用。

或者,您可以在Javascript中快速实现查找:

geo = new GClientGeocoder ();
geo.getLatLng("2337, Australia", function (point) {
        GLog.write(point.lat() + "," point.lng());
    });

答案 1 :(得分:2)

我之前使用Google地图进行地理编码,运行良好,可以在世界任何地方使用。

使用谷歌的GClientGeocoder并使用'setBaseCountryCode(countryCode:String)'方法将其设置为国家/地区顶级域名(http://en.wikipedia.org/wiki/CcTLD

答案 2 :(得分:0)

从邮政编码映射到纬度/经度对:GeoNames Postal Code Database

也可以GeoNames webservice ...

的形式提供