Javascript textSearch(请求、回调)抛出错误:未捕获类型错误:无法读取属性';0';空的

Javascript textSearch(请求、回调)抛出错误:未捕获类型错误:无法读取属性';0';空的,javascript,google-maps,google-maps-api-3,knockout.js,Javascript,Google Maps,Google Maps Api 3,Knockout.js,我写了一个代码,在左边列出硬编码的位置,在右边的谷歌地图上显示位置。这个应用程序是用knockout编写的,并且有搜索栏。在搜索栏中,如果我们搜索关键字,它会过滤列表以及谷歌地图标记。搜索值不仅限于映射,也限于列表。我正在使用服务对象将位置转换为lat/long。有时它会给出正确的结果,但大多数情况下,当我筛选某些值时,service.textSearch(请求、回调)会给出“未捕获的TypeError:无法读取null的属性“0”。我在console.log中发现了这个错误。否则它不会抛出错误

我写了一个代码,在左边列出硬编码的位置,在右边的谷歌地图上显示位置。这个应用程序是用knockout编写的,并且有搜索栏。在搜索栏中,如果我们搜索关键字,它会过滤列表以及谷歌地图标记。搜索值不仅限于映射,也限于列表。我正在使用服务对象将位置转换为lat/long。有时它会给出正确的结果,但大多数情况下,当我筛选某些值时,service.textSearch(请求、回调)会给出“未捕获的TypeError:无法读取null的属性“0”。我在console.log中发现了这个错误。否则它不会抛出错误。它只是跳过那个位置,不在地图上显示标记。下面是服务在某些地方不起作用的代码片段。其余的地方显示了它的工作原理

var service = new google.maps.places.PlacesService(AppViewModel.mapObj);
for (var place in loc) {
            var request = {
                location: new google.maps.LatLng(37.7833,122.4167),
                radius: '500',
                query: loc[place]
            };


service.textSearch(request, callback);
控制台日志如下:-


您确定所有
位置的
loc[place]
不是
null
吗?您在那里记录了很多日志,为什么不记录状态(回调
的第二个参数
)。状态显然不是
OK
。我猜这是
超过了查询限制
,因为请求有限制(例如每秒),Roy J,loc[place]不为空。它具有location.Dr的文本字符串。Molle,在回调中,我正在检查(status==google.maps.places.PlacesServiceStatus.OK){createMapMarker(results[0]);},所以status不可能有其他内容。我正在打印状态,它给出的状态是console.log中的[object]。它不打印status.Dr。莫莉,你说得对。我检查了这个条件
if(status==google.maps.places.PlacesServiceStatus.OVER\u QUERY\u LIMIT)
并且这个条件是真的,它是因为OVER\u QUERY\u LIMIT而发生的。但如何解决这个问题。感谢您关注这个问题。对不起,我刚才弄糊涂了。