【问题标题】:Summarize Google Places Data汇总 Google 地方信息数据
【发布时间】:2020-04-22 23:36:57
【问题描述】:

我需要做一份汇总某个特定地区(区、市、省或国家)的业务量的工作。 我想使用 Google Places API,但这只会返回 60 个位置。例如,在一个城市,它可以在谷歌地图中注册更多的 30,000 个地点。 我需要这些地方来总结每种类型(餐厅、咖啡、酒店、学校等)

我也知道有一条使用条款规定,任何人不得将谷歌地方的任何信息存储在个人数据库中。

我该如何开始这份工作,一点线索从哪里开始已经对我有所帮助。

【问题讨论】:

  • 当我说summary时,我想说我要计算每个类型或类别的位置数

标签: google-maps google-maps-api-3 google-api google-places-api


【解决方案1】:

对于初学者,您可以参考Google Maps Places API Documentation 了解有关 Places API 的更多信息。您也可以使用 Maps JavaScript API 的Places Library 在客户端实现它。

要实现您想要的,您可以使用Places Nearby Search。您将使用 location 参数指定使用 radius 参数集检索地点信息的纬度/经度到一个较小的值。然后使用 type 参数指定要获取计数的地点类型。建议在60 results limit 内设置此较低的半径值和地点类型。另外,不要忘记在对 Places API 的请求中始终使用您的 API 密钥

你可以做这样的事情simple code我在客户端创建。

这是我设置参数请求的地方:

var request = {
    location: sydney,
    radius: '100',
    type: ['restaurant']
  };

这是调用 nearSearch 请求的地方:

var service = new google.maps.places.PlacesService(map);

  service.nearbySearch(request, function(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        createMarker(results[i]);
      }

      map.setCenter(results[0].geometry.location);

      document.getElementById("numPlaces").innerHTML = results.length;
      document.getElementById("typePlaces").innerHTML = request.type;
    }
  });
}

API 密钥是在调用 API 的脚本中设置的:

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap" async defer></script>

希望这会有所帮助!

【讨论】:

  • 嗨@Pagemag,感谢您的回答!我这样做了,但在一个城市可能有超过 60 家餐厅。我在文档中搜索了一些执行“计数”功能的文档。
猜你喜欢
  • 2019-08-18
  • 2020-12-03
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多