Google maps api 3 谷歌地图v3位置自动完成显示地址,但不返回位置结果?

Google maps api 3 谷歌地图v3位置自动完成显示地址,但不返回位置结果?,google-maps-api-3,autocomplete,clgeocoder,Google Maps Api 3,Autocomplete,Clgeocoder,我已经使用谷歌地图位置自动完成服务设置了一个页面。下面是地址输入文本字段(由places autocomplete(工作正常)控制)的屏幕快照 当我单击Google下拉列表中显示的唯一选项时,将调用place changed处理程序(应该如此),并执行以下代码以获取place result对象: var place = m_autocomplete.getPlace(); 在调试器中检查place对象会发现只定义了一个属性;下面的name属性是作为JSON字符串的place对象: {"nam

我已经使用谷歌地图位置自动完成服务设置了一个页面。下面是地址输入文本字段(由places autocomplete(工作正常)控制)的屏幕快照

当我单击Google下拉列表中显示的唯一选项时,将调用place changed处理程序(应该如此),并执行以下代码以获取place result对象:

var place = m_autocomplete.getPlace();
在调试器中检查place对象会发现只定义了一个属性;下面的name属性是作为JSON字符串的place对象:

{"name":"2701 Riverside Dr, Ottawa, ON K1A 0B1, Canada"}
place对象缺少中概述的所有其他属性(即:无几何图形、无地址组件等)

因此,我添加了更多代码(用于回退),并在place results对象不完整时直接调用geocoder服务,即:

var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': addr }, geocoder_callback_handler);
其中addr包含文本字段中的值(通过调试器确认);geocoder回调函数返回的状态为:ZERO_RESULTS

问题:

1-为什么自动完成服务在下拉列表中显示一个地址,导致place result对象不完整

2-为什么地理编码器不识别自动完成服务提供的地址

任何建议都将不胜感激。

这可能会有所帮助:是的——我看到了那篇文章——但谷歌应该清理他们的文档,并说明API返回的对象中的属性是否存在;或者在什么条件下某些属性将不存在,而其他属性将不存在。这可能会有所帮助:是的——我看到了那篇文章——但谷歌应该清理它们的文档,并说明API返回的对象中的属性是否存在;或者在什么条件下某些属性将不存在,而另一些属性将不存在。