- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在尝试构建一个 API,以便了解 CLLocation
是否代表土地。我需要它才能离线工作,因为我希望我的大多数用户都没有连接。我将 MapBox 用作图 block 服务器,但这仍然是一个 MapKit 问题,因为我没有使用 MapBox SDK。
我尝试了几种方法来确定给定坐标是代表陆地还是海洋位置:
此外(在处理完上述内容之后)是否有一种有效的方法来确定给定的瓦片坐标 (x,y,z) 它是否是陆地/海洋/海岸瓦片?
如果有人曾经为这个问题而苦恼,我将不胜感激。
最佳答案
别着急,看来苹果已经考虑过了!
如果您看一下 CLGeocoder
类 (CoreLocation),就会发现有一个 reverseGeocodeLocation:completionHandler:
方法。
在完成处理程序中,您可以检索 CLPlacemark
对象的数组
CLPlacemark
有两个有趣的属性:
[placemark inlandWater]
For coordinates that lie over an inland body of water, this property contains the name of that water body—the name of a lake, stream, river, or other waterway.
和[placemark ocean]
coordinates that lie over an ocean, this property contains the name of the ocean.
因此,您只需对您的位置进行反向地理编码,并检查是否在生成的 CLPlacemark
对象上设置了 ocean
属性。
关于ios - 了解 CLLocation 代表陆地还是海洋,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27677775/
这个问题在这里已经有了答案: How to convert CLLocation to string in Xcode (3 个答案) 关闭 6 年前。 我有一个包含 String 格式的位置的变量
我正在尝试将位置检测添加到应用程序中,并且我已经弄明白了大部分内容。但是我在使用 reverseGeocodeLocation 方法时遇到了问题。我收到错误 cannot convert value
我尝试在 map View 上显示用户当前位置,但在位置管理器功能的第一行出现错误 这是我的代码 import UIKit import MapKit class FirstViewControlle
我的 CLLocation 遇到问题。 我想知道两个坐标之间的距离,以便将其显示在 tableView 中位置标题旁边: static NSString *CellIdentifier = @
如何在后台保持 CLLocation 更新。我相信您需要注册应用程序才能在应用程序委托(delegate)中执行此操作,但我在任何地方都找不到对此的引用? 最佳答案 以下是相关文档的链接: https
我在CLLocation distanceFromLocation上遇到了一些问题。我下面的代码经过格式化,可以帮助调试,显式分配两个新位置,等等。无论哪种方式,两个几乎相同的位置都会产生巨大的差距,
据我所知,最大值和最小值是: 纬度: [-90, 90] 经度: [-180, 180] CLLocation 仍然接受超出这些限制的值,例如: [[CLLocation alloc] initWi
我是 Swift 的新手(以及这个网站,如果我做错了什么,很抱歉),我正在尝试制作一个正在运行的应用程序来跟踪用户的位置。虽然我用来跟踪距离的函数有效,但它并不是从 0 开始。当我点击开始按钮时,距离
在 iPhone 6+、IOS 11.4、Xcode 9.4.1 上,CLLocation 时间戳始终为零。 纬度:30.598748经度:-97.820877海拔高度:308.921658H准确度:
我试图在内存中保存 self.mapView.userLocation.location在CLLocation属性,但在我将值分配给属性并检查属性的值后,我得到了这个: +/- 0.00m (spe
我已经设法使用 GLGeocoder geocodeAddressString 获取了 2 个城市的坐标 从名称中检索到这 2 个城市的坐标后,我想计算它们之间的距离。但是我面临一个问题,因为 CLL
我正在尝试设置一个自定义类的 CLLocation 属性(名为 objectLocation),使用下面的代码,从我的主 ViewController 调用。不幸的是,我在“注释”行收到一条错误消息,
更新到 iOS 8 后我遇到了很多麻烦。以下代码在我更新到 iOS 和 Xcode 6 之前有效。代码是在 viewDidLoad 中编写的: self.locationManager.delegat
我的类 ViewController 中有这段代码: CLLocationManager *locationManager; - (void)viewDidLoad { [super view
我的代码中有一个奇怪的问题。我想调用 [locationManager startUpdatingLocation]; 并且当更新完成时 - (void)locationManager:(CLLoca
所以我不知道发生了什么。我的代码运行得非常好,然后我在 Storyboard中工作了一会儿,突然我开始收到错误消息,即我的 CLLocation 在解包时始终为 nil。我做了我能想到的或在网上阅读的
info.plist 文件: NSLocationWhenInUseUsageDescription This project would like to know your location NSL
我想在应用程序启动之间保留 2 个 CLLocation。这是我希望在两次启动之间存储在内存中的唯一数据。我该怎么做呢? CLLocation 是否有 writetofile 或将其存储在 cored
这是我的位置管理器委托(delegate)代码。 当我们使用汽车移动时,它不会给出速度,所以至少速度值应该改变。 它总是给出常量值 -1.00。 -(void)locationManager:(CLL
我想使用可靠的位置,即使是在旧的 iPhone 上。然而,许多读数(尤其是来自手机信号塔的读数)都太不准确了。我想。 当我绘制我的位置 + 精度半径(或查看谷歌地图应用程序)时,我注意到估计圆的中心通
我是一名优秀的程序员,十分优秀!