Trip Advisor API 按地点名称搜索
Trip Advisor API search by location Name
我正在尝试设置 Trip-Advisor API 以将附近的酒店检索到某个位置 name.In 下面列出的文档向您展示了如何通过我设置的 ID 获取位置并使用下面的 link 成功运行。
$apiRequest = "http://api.tripadvisor.com/api/partner/2.0/location/60745/hotels?key=".$key
现在我需要类似的结果,但搜索的是名称而不是位置 ID。这样我就可以在用户输入位置名称和搜索的地方放置一个输入字段。在文档(下面的 linked)中,它在页面底部附近提到了位置名称,但我似乎无法实现它。我想我可能误解了它是 API 的
的新手
https://developer-tripadvisor.com/content-api/documentation/location/
我尝试用位置名称替换 ID,但正如预期的那样失败了。
我也试过使用参数 URL - /location-name/manchester/ - URL
将 location-name 放入其中
我会 post 尝试更新,
谢谢
目的地(或地理位置)是地理位置。这可以是国家、州、省、地区或城市。您可以通过导航到该目的地的页面并在 URL 中查找“g”参数后的数字来识别 TripAdvisor 上的地理位置 ID。例如,波士顿市的地理位置 ID 为 60745,如下面 URL 中所定义:
http://www.tripadvisor.com/Tourism-g60745-Boston_Massachusetts-Vacations.html
POI 包括在 TripAdvisor 上列出并可以评论的住宿、景点和餐厅。您可以通过导航至 TripAdvisor 上的 属性 页面并在 URL 中查找“d”参数后的数字来找到 TripAdvisor POI 的位置 ID。例如,波士顿联邦酒店的位置 ID 为 258705。
请注意,POI 的 URL 还包括其所在城市的地理位置 ID(在“g”之后)。
位置 ID 映射
TripAdvisor 不支持将合作伙伴或外部位置 ID 映射到 TripAdvisor 目的地或 POI 的位置 ID 的内容 API 用户的任何服务。
遗憾的是,Trip Advisor 不提供将搜索字符串转换为位置 ID 的方法。但是,Trip Advisor 允许您使用 map/ endpoint 按 lat/lon 搜索附近的结果。在响应中会有一个 "Ancestors" 对象,看起来像这样:
"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
}
如您所见,其中包含城市和州的位置 ID。使用此信息,您可以获取用户的搜索查询,将其转换为 lat/lons (Google Geocoding Api),点击 Trip Advisor Api 地图端点,获取城市位置 ID,然后使用它搜索附近的酒店。
显然,这是非常迂回的,需要 3 个单独的 api 调用,但这是将搜索查询解析为位置 ID 的唯一编程方式。 (我认为比建议的手动ID收集方法好得多)
我正在尝试设置 Trip-Advisor API 以将附近的酒店检索到某个位置 name.In 下面列出的文档向您展示了如何通过我设置的 ID 获取位置并使用下面的 link 成功运行。
$apiRequest = "http://api.tripadvisor.com/api/partner/2.0/location/60745/hotels?key=".$key
现在我需要类似的结果,但搜索的是名称而不是位置 ID。这样我就可以在用户输入位置名称和搜索的地方放置一个输入字段。在文档(下面的 linked)中,它在页面底部附近提到了位置名称,但我似乎无法实现它。我想我可能误解了它是 API 的
的新手https://developer-tripadvisor.com/content-api/documentation/location/
我尝试用位置名称替换 ID,但正如预期的那样失败了。
我也试过使用参数 URL - /location-name/manchester/ - URL
我会 post 尝试更新,
谢谢
目的地(或地理位置)是地理位置。这可以是国家、州、省、地区或城市。您可以通过导航到该目的地的页面并在 URL 中查找“g”参数后的数字来识别 TripAdvisor 上的地理位置 ID。例如,波士顿市的地理位置 ID 为 60745,如下面 URL 中所定义:
http://www.tripadvisor.com/Tourism-g60745-Boston_Massachusetts-Vacations.html
POI 包括在 TripAdvisor 上列出并可以评论的住宿、景点和餐厅。您可以通过导航至 TripAdvisor 上的 属性 页面并在 URL 中查找“d”参数后的数字来找到 TripAdvisor POI 的位置 ID。例如,波士顿联邦酒店的位置 ID 为 258705。
请注意,POI 的 URL 还包括其所在城市的地理位置 ID(在“g”之后)。
位置 ID 映射
TripAdvisor 不支持将合作伙伴或外部位置 ID 映射到 TripAdvisor 目的地或 POI 的位置 ID 的内容 API 用户的任何服务。
遗憾的是,Trip Advisor 不提供将搜索字符串转换为位置 ID 的方法。但是,Trip Advisor 允许您使用 map/ endpoint 按 lat/lon 搜索附近的结果。在响应中会有一个 "Ancestors" 对象,看起来像这样:
"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
}
如您所见,其中包含城市和州的位置 ID。使用此信息,您可以获取用户的搜索查询,将其转换为 lat/lons (Google Geocoding Api),点击 Trip Advisor Api 地图端点,获取城市位置 ID,然后使用它搜索附近的酒店。
显然,这是非常迂回的,需要 3 个单独的 api 调用,但这是将搜索查询解析为位置 ID 的唯一编程方式。 (我认为比建议的手动ID收集方法好得多)