我在iOS(Swift)上使用Mapbox的地址解析API来反转地址解析坐标。我已经能够使它适用于任何陆地坐标,但是在海洋上时,我的代码无法运行(或打印地标):
let task = geocoder.geocode(options) { (placemarks, attribution, error) in
guard let placemark = placemarks?.first else { return }
print(placemark.name)
}
那么API是否不支持此功能,或者我没有看到某些内容,或者有替代方法吗?
我已经阅读了他们的API Documentation,找不到任何内容...
答案 0 :(得分:2)
不,他们没有。
也没有很多API服务可以在大型水域中反转地理编码。
这里是一个:https://geocode.xyz/46.195042,-6.767578?geoit=xml(它应该在陆地和水中都起作用。有关完整的api规范,请参见https://geocode.xyz/api)
<geodata>
<error>
<code>008</code>
<description>24. Your request did not produce any results.</description>
</error>
<suggestion>
<region>North Atlantic Ocean</region>
<subregion>French part of the North Atlantic Ocean</subregion>
<eez>French Exclusive Economic Zone</eez>
<territory>France</territory>
<iso>FRA</iso>
<altname>France</altname>
<north>
<city>La Chapelle Bank</city>
<prov> </prov>
<distance>163</distance>
<latt>47.616667</latt>
<longt>-7.3</longt>
</north>
<south>
<city/>
<prov> </prov>
<distance/>
<latt/>
<longt/>
</south>
</suggestion>
<geonumber>3147033738852</geonumber>
<osmtags/>
</geodata>