谷歌地图雷达搜索名称奇怪的行为
Google Maps radarSearch by name odd behavior
使用radarSearch和name参数时出现奇怪的结果…
我有一个很长的存储在数据库中的商店列表,我试图显示每个商店找到的标记。似乎当我使用完整列表时,它不返回任何东西,即使是我知道存在的商店。如果我包含一个更短的列表,那么它似乎工作,但然后一些标记不包括商店"标记"详细信息,商店名称,地址,电话号码在信息窗口。
最初在我的请求中,我只是使用name参数中的所有商店,但这根本不起作用,所以我想我会对每个商店执行搜索,这是一种工作…但是,当列表很长时,它不会返回任何东西,不确定脚本最终是否会在没有找到的许多请求后停止。
我已经包含了一个小提琴,并在谷歌地图的脚本部分的评论,并包括商店的完整列表。
我不确定这是谷歌地图的限制,还是一个特定的商店名称,抛出了结果或发生了什么。
这里是小提琴https://jsfiddle.net/bowenac/k7xfbwsg/16/
function performSearch() {
markers = [];
jQuery('#store_list').empty();
//Full List of Stores
//var storeList = 'Vitamin Shoppe|GNC|Fred Meyer|Kroger|King Sooper|Ralphs|Sprouts|Hi-Health|Harmons|Fresh Thyme|HEB|United|Rite Aid|Meijer|Harris Teeter|Wakefern|Publix|Winn-Dixie|BiLo|Walgreens|Walmart|Kmart|CVS|Longs Drugs|Hannaford|Stop & Shop|Giant Food|Weis Mkt|PURITANS PRIDE|BJs WHOLESALE CLUB PACKS|Viatamin World';
//Only works when not using full list I know these work for 98444
var storeList = 'GNC|Rite Aid|Fred Meyer|Walgreens|Walmart|Kmart|CVS';
var splitStr = storeList.split('|');
for (var i = 0; i < splitStr.length; i++) {
//console.log(splitStr[i]);
var request = {
bounds: map.getBounds(),
name: splitStr[i]
};
service.nearbySearch(request, callback);
}
}
有人知道这里可能发生了什么吗?
我可以看到最近在Places API端发生了一些变化。web服务的文档说:
name—要与Google为该位置索引的所有内容进行匹配的术语。相当于keyword。名称字段不再局限于地名。该字段中的值与关键字字段中的值组合,并作为同一搜索字符串的一部分传递。我们建议对所有搜索词只使用关键字参数。
https://developers.google.com/places/web-service/search PlaceSearchRequests
然而,Maps JavaScript API文档并没有提到这个变化。可能JavaScript API文档还没有更新。
- 用程序搜索JQuery数据表中的文本
- 在html Select中添加搜索
- Ajax Live搜索发布到Laravel视图
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- 学生搜索项目jquery/javascript
- 用于搜索的聚合物嵌套绑定
- 在javascript中搜索具有重复值的两个数组中的匹配值
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 使用javascript搜索具有用户输入的数组
- 淘汰搜索/筛选
- 搜索api在mac上显示对话框
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- 谷歌水印未显示在自定义搜索框中
- 在javascript中搜索项目列表的性能
- 正在搜索JavaScript日期选择器滑块
- Google Places API显示雷达搜索中的位置图标/图像
- 谷歌地图API - 返回60多个地名用于雷达搜索
- Google Places API - 雷达按名称搜索
- 谷歌地图雷达搜索名称奇怪的行为
- 我如何在谷歌地图上更改附近的雷达搜索服务