1 javascript google-maps-api-3
我试图使用gmaps V3提供的地址组件类型获取国家名称.
我不知道我怎么能以正确的方式得到它.. http://code.google.com/apis/maps/documentation/javascript/services.html#GeocodingAddressTypes
我想在这里提醒国家名字:
alert(results[1].address_component[country]);
Run Code Online (Sandbox Code Playgroud)
这里是代码..任何帮助都非常感谢..谢谢
function codeLatLng() {
var input = document.getElementById("latlng").value;
var latlngStr = input.split(",",2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var latlng = new google.maps.LatLng(lat, lng);
if (geocoder) {
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
alert(results[1].address_component[country]);
} else {
alert("No results found");
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
小智 10
首先,address_components应该是复数.由于输入错误,Google文档会因此而误导.
address_components数组具有地址的每个组件的项.每个项目中的类型数组告诉您适用于每个地址组件的所有类型(例如:国家,地区等) - 所以您真正想要做的是找到具有"country"作为其中一个的address_components数组项它的类型,然后获取该数组项的short_name或long_name.
此外,您可能并不总是有结果值[1].这将假设返回至少2个搜索结果.结果[0]将是第一个.
这是一个例子:
var country;
for (i=0;i<results[0].address_components.length;i++){
for (j=0;j<results[0].address_components[i].types.length;j++){
if(results[0].address_components[i].types[j]=="country")
country = results[0].address_components[i].long_name
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8322 次 |
| 最近记录: |