我有以下格式的坐标集
( - 33.9,18.6)
如何为这些合作伙伴获取最近城镇或国家/地区的名称?我猜它会涉及Javascript,但我很乐意在适当的时候使用PHP吗?
编辑:我正在尝试Google Reverse Geocoder,但遇到了麻烦。以下代码与他们的一个示例非常相似,但似乎根本没有运行......任何想法为什么?
<script type="text/javascript" charset="utf-8">
function reverseGeocode(lat,lon){
var geocoder = new GClientGeocoder();
var latlng = new GLatLng(lat, lon);
geocoder.getLocations(latlng, function(addresses) {
alert(addresses);
});
}
</script>
答案 0 :(得分:1)
和v3: http://maps.google.com/maps/api/geocode/json?latlng=51,4&sensor=false&callback=parseme
在这两种情况下你得到一个json响应(javascript对象),不同之处在于你现在已经弃用了v2,你需要为你提供api密钥,你可以使用回调(对于跨站点ajax善良)来大声喊叫isn't supported in v3 any more(但您不再需要api密钥)。
答案 1 :(得分:0)
Google maps API有一个javascript示例。
http://code.google.com/apis/maps/documentation/services.html#ReverseGeocoding
答案 2 :(得分:0)
您是否注册了API密钥?
还有任何特定的错误消息吗?
答案 3 :(得分:0)
好的设法让它运转起来,所以这就是我所做的:
<script src="http://maps.google.com/maps?file=api&v=2&key=INSERTAPIKEYHERE" type="text/javascript"></script>
function reverseGeocode(latitude,longitude){
var geocoder = new GClientGeocoder();
var latlng = new GLatLng(latitude, longitude);
geocoder.getLocations(latlng, function(addresses) {
var address = addresses.Placemark[0].address;
var country = addresses.Placemark[0].AddressDetails.Country.CountryName;
var locality = addresses.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;
alert(address);
});
}