默认情况下,使用Mapbox Swift列出附近的兴趣点将返回一个结果。将limit
增加到10会引发以下错误:
反向地理编码时limit必须与单个类型参数组合
这可以通过将要素类型传递为POI
来解决。
curl -X GET 'https://api.mapbox.com/geocoding/v5/mapbox.places/55.274111,25.197139.json?
access_token=pk..&limit=10&types=poi'
如何在Mapbox Swift中设置types
? ReverseGeocodeOptions
类中没有此类属性。
let options = ReverseGeocodeOptions(coordinate:
CLLocationCoordinate2D(latitude: 40.733, longitude: -73.989))
let task = geocoder.geocode(options) { (placemarks, attribution, error) in
guard let placemark = placemarks?.first else {
return
}
print(placemark.imageName ?? "")
// telephone
print(placemark.genres?.joined(separator: ", ") ?? "")
// computer, electronic
print(placemark.administrativeRegion?.name ?? "")
// New York
print(placemark.administrativeRegion?.code ?? "")
// US-NY
}
答案 0 :(得分:1)
通过搜索MapboxGeocoder.swift项目,我发现了list of types。他们是:
更新
为了设置ReverseGeocodeOptions
的选项类型,请设置allowedScopes
属性。
let geocodeOptions = ReverseGeocodeOptions(coordinate: coordinate)
geocodeOptions.allowedScopes = .pointOfInterest
请注意,allowedScopes
是一组类型,因此您可以创建多种类型,例如
geocodeOptions.allowedScopes = [.pointOfInterest, .landmark]