Javascript 从google maps api v3使用自动完成服务获取邮政编码

Javascript 从google maps api v3使用自动完成服务获取邮政编码,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我正在使用google maps api V3中的autocompleteservice来定制自动完成输入。 我基本上调用这个函数来检索城市建议 function getPlaces(st){ gService.getQueryPredictions({input:st,types:['geocode']},function(predictions,status) { if(status != google.maps.places.PlacesServiceSt

我正在使用google maps api V3中的autocompleteservice来定制自动完成输入。 我基本上调用这个函数来检索城市建议

function getPlaces(st){
    gService.getQueryPredictions({input:st,types:['geocode']},function(predictions,status)      {
        if(status != google.maps.places.PlacesServiceStatus.OK) return false;
        for(var i = 0, prediction; prediction = predictions[i]; i++){
            console.log(prediction);
        }
        return predictions;
    });
}
这是伟大的工作,但我想得到与城市相关的邮政编码。 就像v2api一样

我试图将“类型”选项更改为“城市”,但结果是一样的。
知道怎么做吗?

在新的API中,AutocompleteService只搜索与您迄今键入的文本匹配的猜测字符串。要获取包含地址和其他数据的实际位置对象,需要使用在将Autocomplete()函数附加到文本框时创建的Autocomplete对象。请参阅此处的文档:

检查此代码段:

var地理编码器;
var映射;
函数初始化(){
var input=document.getElementById('id_address');
变量选项={
类型:[“地址”],
组件限制:{
国家:'在'
}
};
autocomplete=newgoogle.maps.places.autocomplete(输入,选项);
google.maps.event.addListener(自动完成,'place\u changed',函数(){
var place=autocomplete.getPlace();
对于(变量i=0;i


但是在这种情况下,如何通过编程方式使用定义了输入字符串的
自动完成
类?如果我不想有一个文本字段,并且已经知道要用作输入的字符串?@zanona您不能使用Autocomplete类,因为它是一个UI类(它将自身附加到一个文本框)。出于您的目的,您需要使用AutocompleteService类:
AutocompleteService
不提供
getDetails
方法,因为
Autocomplete
我已经6年多没有看过Google的geo Autocomplete API了,@Arseniy II。很高兴你发布了最新的答案!看看这个答案,它真的很有帮助: