谷歌地图雷达搜索名称奇怪的行为

Google Maps radarSearch by name odd behavior

本文关键字:雷达 搜索 谷歌地图      更新时间:2023-09-26

使用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文档还没有更新。