Google可以使用Places API的兴趣点?

时间:2016-06-06 13:46:45

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

当我在Google中搜索任何相当大的位置时,结果页面会包含一个侧栏,其中包含有关该城市的信息,并且通常包含一系列兴趣点:

enter image description here

如果我点击“查看15+更多”链接,我会看到更多可滚动视图:

enter image description here

有没有办法通过Places API获取这些地方(或类似的地方)?您可以根据位置进行附近的文本和雷达搜索,并且您必须指定一种类型(来自this list),或者您可以同时使用types数组作为几个,但它是弃用。

我的主要问题是Places API为您提供了相当多的结果,通常不是特别相关或值得注意的。您如何选择合适的类型,并获得最佳景点? Google自己的搜索结果页面可以很好地选择一些主要景点。

例如,在附近进行搜索时,如果省略type参数,我主要只是获取伦敦市中心的酒店列表:

function initialize() {
	var centre = new google.maps.LatLng(51.506974, -0.127488);

	var map = new google.maps.Map(document.getElementById("map"), {
		zoom: 15,
		center: centre,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	});
	
	var service = new google.maps.places.PlacesService(map);
	
	service.nearbySearch({
		location: centre,
		radius: 1000
	}, function (results, status) {
		if (status === google.maps.places.PlacesServiceStatus.OK) {
			for (var i = 0; i < results.length; i++) {
				console.log(results[i].name);
			}
		}
	});
}

google.maps.event.addDomListener(window, 'load', initialize);
	
html, body, #map { width: 100%; height: 100% }
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places"></script>

<div id="map"></div>

返回:

  • 伦敦
  • 特拉法加酒店
  • 伦敦特拉法加广场馨乐庭
  • 伦敦科林西亚酒店
  • Amba Hotel Charing Cross
  • Haymarket Hotel
  • 皇家骑兵卫队
  • 伦敦圣詹姆斯索菲特酒店
  • Radisson Blu Edwardian,Hampshire
  • 每家酒店Piccadilly
  • 伦敦莱斯特广场普瑞米尔酒店
  • W伦敦莱斯特广场
  • 萨伏伊
  • 斯特兰德宫酒店
  • LeMéridienPiccadilly
  • 皮卡迪利宾馆
  • 卡文迪什伦敦
  • 苏荷Z酒店
  • 特拉法加广场大酒店
  • 苏荷

如果我在请求中添加type: ['museum'],我会得到相当随机的列表。前5个左右都不错,然后有点不对劲:

  • 丘吉尔作战室
  • 国家美术馆
  • 国家肖像画廊
  • 伦敦交通博物馆
  • Courtauld Gallery
  • 伦敦电影博物馆
  • 宝石塔
  • 19希腊街
  • Spencer House Ltd
  • 家庭骑兵博物馆
  • Whitfield Fine Art (艺术品经销商)
  • ICA Bar&amp;咖啡馆
  • 解剖博物馆
  • Max Rutherston Ltd (艺术品经销商)
  • Hazzlitt Holland-hibbert (艺术品经销商)
  • 化石伦敦(商店)
  • 伦敦原创印刷展(临时展览的名称)
  • 戴安娜的礼服(临时展览的名称)
  • 英国遗产
  • الطرفالاغر(翻译:“特拉法加”)

或者,任何可能具有相似(但更好)结果的第三方API都可能有用。

0 个答案:

没有答案