Airbnb如何实施地理搜索?

时间:2015-03-19 06:35:42

标签: google-maps google-maps-api-3 geocoding geospatial geo

我正在探索Airbnb的工作原理以及对地理搜索的兴趣。我不明白Airbnb如何通过New Zealand找到他们的广告?

如果要查看查询字符串参数:

page:1
location:New Zealand
ss_id:3sdsi3ff

只有位置字符串New Zealand会转到服务器,但不会转到lng,lat。

等坐标

但在回复中,我们回过头来看:

center_lat: -40.900557
center_lng: 174.885971,
geo: {accuracy: 1, district: null, city: null, state: null, country: "New Zealand", country_code: "NZ",…}
accuracy: 1
city: null
colloquial_area: null
country: "New Zealand"
country_code: "NZ"
district: null
market: "Other (International)"
natural_feature: null
result_type: "country"
state: null
state_short: null
success?: true

我们看到我们得到center_lat: -40.900557 center_lng: 174.885971坐标,国家/地区:"New Zealand",country_code:"NZ"

那么Airbnb如何根据GET请求中从客户端传递的“新西兰”字符串来检测此数据?

1 个答案:

答案 0 :(得分:2)

他们要么有一个存储世界上每个城市的服务器(名称作为密钥)和位置......(嗯......一个人可以从维基百科那里获得所有这些信息)

或者他们必须使用谷歌地图地理编码服务等一些服务:

https://developers.google.com/maps/documentation/javascript/geocoding

开放街道地图也提供解决方案API,例如谷歌地理编码。