我希望周围的城市或地区用户搜索在地图上画一个边界。我使用谷歌API地点找到Lattitude和位置的经度。但我也希望城市或区域的边界。所以,我可以得出周围区域的多边形来表现。
例如,如果用户搜索“美国纽约”,我想提请覆盖在地图上只覆盖纽约市。
有没有我可以在iOS中使用,以在地图上找到了整个区域的任何API?
谷歌并没有提供这样的API,但你可以在GeoJSON格式导出多边形坐标使用OpenStreetMap城市。
您可以转换成由几个图书馆像GEOSwift在地图上使用响应。
例:
https://nominatim.openstreetmap.org/search.php?q=New+York&polygon_geojson=1&format=json
let url = URL(string: "https://nominatim.openstreetmap.org/search.php?q=New+York&polygon_geojson=1&format=json")!
let task = URLSession.shared.dataTask(with: url) {(data, response, error) in
guard let data = data else { return }
print(String(data: data, encoding: .utf8)!) // Here convert the data to show on map
}
task.resume()