2015-04-07 59 views
0

我正在尝试设置Trip-Advisor API以检索附近的酒店到地点名称。在下面列出的文档中向您显示如何通过ID设置地点并正在使用下面的链接成功地进行工作。Trip Advisor API按地点搜索名称

$apiRequest = "http://api.tripadvisor.com/api/partner/2.0/location/60745/hotels?key=".$key 

现在我需要一个类似的结果,但搜索名称不是位置ID。通过这种方式,我可以在用户输入位置名称和搜索时输入一个输入字段。在文档中(下面链接)它提到了页面底部附近的位置名称,但似乎无法实现它。我想我可能会误解它是新的API

https://developer-tripadvisor.com/content-api/documentation/location/

我曾尝试与位置名称替换ID,但如预期失败。

我也试图将位置名到它的参数URL - /location-name/manchester/ - URL

为我做这些,我将发布与尝试更新,

感谢

+0

您需要提交位置ID,好像没有办法根据位置名称获取结果。 – dev1234

+0

但用户端,用户如何知道lcoation ID?当然有一种方法:S – Kieranmv95

+0

先生,你可以分享你的代码作为例子,因为我找不到任何网站的例子,你能帮助我吗? – Hacker

回答

0

目的地(或地理)是地理位置。这可以是一个国家,州,省,地区或城市。您可以在TripAdvisor上识别地理位置ID,方法是导航到该目标网页,然后查找URL中'g'参数后面的数字。例如,对于波士顿市的地理位置ID是60745,如下面的网址定义:

http://www.tripadvisor.com/Tourism-g60745-Boston_Massachusetts-Vacations.html

的POI包括住宿,景点和列出,可以在登录审查餐馆。您可以通过浏览TripAdvisor上的酒店页面并查找URL中'd'参数后面的数字,找到TripAdvisor POI的位置ID。例如,对于酒店联合体在波士顿地区编号为258705.

http://www.tripadvisor.com/Hotel_Review-g60745-d258705-Reviews-Hotel_Commonwealth-Boston_Massachusetts.html

注意,对于POI的URL也包括“G”之后在它位于城市的地理位置ID( )。

位置ID映射

登录不支持任何服务,其内容API用户映射伙伴或外部位置ID来登录位置标识为目的地或兴趣点。

阅读:http://developer-tripadvisor.com/content-api/locations/

1

不幸的是,旅行顾问不提供一种方法来搜索字符串转换成位置标识。但是,Trip Advisor允许您通过纬度/经度搜索map/ endpoint附近的结果。在响应会有一个“祖先”的对象,这将是这个样子:

"ancestors": [ 
     { 
      "abbrv": null, 
      "level": "City", 
      "name": "Boston", 
      "location_id": "60745" 
     }, 
     { 
      "abbrv": "MA", 
      "level": "State", 
      "name": "Massachusetts", 
      "location_id": "28942" 
     }, 
     { 
      "abbrv": null, 
      "level": "Country", 
      "name": "United States", 
      "location_id": "191" 
     } 
     ], 
     "bearing": "north", 
     "longitude": "-71.09922", 
     "rating": null, 
     "latitude": "42.33227", 
     "ranking_data": null 
    } 

正如你可以看到这包含城市和国家的位置标识。通过此信息,您可以抓取用户的搜索查询,将其转换为纬度/经度(Google Geocoding Api),点击Trip Advisor Api地图端点,获取城市位置ID,然后使用该ID查找附近的酒店。

显然,这非常迂回,需要3个独立的API调用,但这是将搜索查询解析为位置ID的唯一编程方式。 (比我认为的建议的手动ID收集方法好得多)