我正在尝试使用wikimapia api来查找特定城市或地方的场地,并给出它们的经度和时间。 没有太多的文档,但我想它只是一个http请求。 现在,我遇到的问题是特定的ulr。我试过这个:
http://api.wikimapia.org/?function=search
&key= myKey
&q=lat= theLatidute
&lon= theLongitude
&format=json
但它似乎不起作用。任何帮助将不胜感激..
答案 0 :(得分:4)
搜索API要求您设置搜索位置(长和纬度)以及要搜索该位置的内容的名称。
例如,要找到特定坐标附近的火车站:
http://api.wikimapia.org/?function=search&key=[key]&q=Train+Station&lat=[latitude]&lon=[longitude]&format=json
如果您只是想找到一个靠近坐标但没有搜索词的对象列表,则需要使用带有小偏移的框API:
http://api.wikimapia.org/?function=box&key=[key]&lon_min=[lon_min]&lat_min=[lat_min]&lon_max=[lon_max]&lat_max=[lat_max]&format=json
如果您只想输入一组坐标,则可以像这样计算lon_min
,lon_max
,lat_min
和lat_max
:
// 1 degree latitude is roughly 111km, 0.001 degrees lat is about 100m
var lat_min = latitude - 0.001;
var lat_max = latitude + 0.001;
// 1 degree longitude is not a static value
// it varies in terms of physical distance based on the current latitude
// to compute it in meters, we do cos(latitude) * 111000
var meters_per_longdeg = Math.cos((3.141592 / 180) * latitude) * 111000;
// then we can work out how much longitude constitutes a change of ~100m
var range = 100 / meters_per_longdeg;
var long_min = longitude - range;
var long_max = longitude + range;