Pau*_*aul 6 jquery google-maps geocoding google-maps-api-3
如果我仅通过地理编码调用一个城市并声明它无法返回邮政编码。知道为什么吗?
这是我的电话:
var test = 'New York, NY';
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': test }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var lat = results[0].geometry.location.lat();
var lng = results[0].geometry.location.lng();
var result=results[0].address_components;
//console.log(result);
var postal = null;
var city = null;
var state = null;
var country = null;
for(var i=0;i<result.length;++i){
if(result[i].types[0]=="postal_code"){
postal = result[i].long_name;
}
if(result[i].types[0]=="administrative_area_level_1"){
state = result[i].long_name;
}
if(result[i].types[0]=="locality"){
city = result[i].long_name;
}
if(result[i].types[0]=="country"){
country = result[i].long_name;
}
}
alert("POSTAL: " + postal);
alert("STATE: " + state);
alert("CITY: " + city);
alert("COUNTRY: " + country);
}
Run Code Online (Sandbox Code Playgroud)
如果您确实需要邮政编码,您可以将请求返回给反向地理编码器,这应该会给您一个在某种程度上代表城市的邮政编码:
if (!postal) {
geocoder.geocode({ 'location': results[0].geometry.location }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var result=results[0].address_components;
for(var i=0;i<result.length;++i){
if(result[i].types[0]=="postal_code"){
postal = result[i].long_name;
}
}
alert("POSTAL: " + postal);
}
});
} else alert("POSTAL: " + postal);
Run Code Online (Sandbox Code Playgroud)
if (!postal) {
geocoder.geocode({ 'location': results[0].geometry.location }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var result=results[0].address_components;
for(var i=0;i<result.length;++i){
if(result[i].types[0]=="postal_code"){
postal = result[i].long_name;
}
}
alert("POSTAL: " + postal);
}
});
} else alert("POSTAL: " + postal);
Run Code Online (Sandbox Code Playgroud)
var map;
var geocoder = new google.maps.Geocoder();
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),
mapOptions);
var test = 'New York, NY';
geocoder.geocode({
'address': test
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var lat = results[0].geometry.location.lat();
var lng = results[0].geometry.location.lng();
if (results[0].geometry.viewport) map.fitBounds(results[0].geometry.viewport);
if (results[0].geometry.viewport) map.fitBounds(results[0].geometry.viewport);
else if (results[0].geometry.bounds) map.fitBounds(results[0].geometry.bounds);
else map.setCenter(results[0].geometry.location);
var result = results[0].address_components;
//console.log(result);
var postal = null;
var city = null;
var state = null;
var country = null;
for (var i = 0; i < result.length; ++i) {
if (result[i].types[0] == "postal_code") {
postal = result[i].long_name;
}
if (result[i].types[0] == "administrative_area_level_1") {
state = result[i].long_name;
}
if (result[i].types[0] == "locality") {
city = result[i].long_name;
}
if (result[i].types[0] == "country") {
country = result[i].long_name;
}
}
if (!postal) {
geocoder.geocode({
'location': results[0].geometry.location
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var result = results[0].address_components;
for (var i = 0; i < result.length; ++i) {
if (result[i].types[0] == "postal_code") {
postal = result[i].long_name;
}
}
document.getElementById('info').innerHTML += ("POSTAL: " + postal + "<br>");
}
});
} else alert("POSTAL: " + postal);
document.getElementById('info').innerHTML += ("STATE: " + state + "<br>");
document.getElementById('info').innerHTML += ("CITY: " + city + "<br>");
document.getElementById('info').innerHTML += ("COUNTRY: " + country + "<br>");
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);Run Code Online (Sandbox Code Playgroud)
html,
body {
margin: 0;
padding: 0;
height: 100%;
}
#map_canvas {
height: 80%;
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3780 次 |
| 最近记录: |