一旦我们请求坐标。我们如何知道该位置是在纽约还是洛杉矶?或者两者都不是?
我们如何计算它?
我不知道该怎么做。请提供任何帮助
PS:反向地理编码会将坐标转换为名称。但这不是我的问题。我在问我们怎么知道这个位置是否在一个城市内?是通过比较反向地理编码生成的字符串,导致我听起来“容易出错”
一旦我们请求坐标。我们如何知道该位置是在纽约还是洛杉矶?或者两者都不是?
我们如何计算它?
我不知道该怎么做。请提供任何帮助
PS:反向地理编码会将坐标转换为名称。但这不是我的问题。我在问我们怎么知道这个位置是否在一个城市内?是通过比较反向地理编码生成的字符串,导致我听起来“容易出错”
您要查找的内容称为反向地理编码。查看 CLGeocoder 类和reverseGeocodeLocation:completionHandler:
方法。
我假设您不想使用 Apple 的地理编码,因为它不可靠。您可以使用 Google API 将坐标转换为位置。
let urlPath: String = "http://maps.googleapis.com/maps/api/geocode/json?latlng=\(self.latitude),\(self.longitude)&sensor=true_or_false
let recievedLocation : NSMutableData! = self.getJSON(urlPath)
let recievedDictonary = self.parseJSON(recievedLocation)
let returnedPlaces : NSArray = recievedDictonary["results"] as! NSArray
将 URL 中的纬度和经度替换为您的坐标。返回的Places 将有一个字典数组。这将是 JSON 格式,您需要进行一些格式化。使用此链接了解返回的数据将如何。如果您在格式化收到的数据方面需要帮助,请告诉我。