了解 Parse Geopoint 和 CoreLocation 之间的区别

Learning the difference between Parse Geopoint and CoreLocation

我是编程新手,正在尝试快速学习,尽管我现在正在尝试扩展定位服务以及如何访问用户位置。

我正在创建一个应用程序,我在其中使用 Parse 后端来存储用户,我还希望它存储用户位置,然后能够将这些用户位置作为注释投影到地图上。那里有很多文档,这些文档可能会让人不知所措,它们向您展示了如何使用 Parse geopoint 和 coreLocation 获取用户位置。如果有人可以帮助解释使用每一个的实际好处 how/why 我可以用它来实现我想要实现的目标吗?

提前致谢。

来自文档

Core Location 框架的用途定义为:

The Core Location framework lets you determine the current location or heading associated with a device. The framework uses the available hardware to determine the user’s position and heading.

PFGeopoint 的用途定义为:

PFGeoPoint may be used to embed a latitude / longitude point as the value for a key in a PFObject. It could be used to perform queries in a geospatial manner using [PFQuery whereKey:nearGeoPoint:].

CoreLocation是一个框架,PFGeoPoint是一个class。这就是说,CoreLocation 广泛地说是一套工具,用于与设备的硬件接口,并询问它当前的位置(它在哪里,它面向什么方向)以及提供这些服务的 classes .另一方面,PFGeoPoint 是一个 class,它是 Parse 框架的一部分,用于与 Parse 和 store/query 您的 Parse 后端进行交互以获取地理信息。 Parse 提供了一种方便的方法:

+ (void)geoPointForCurrentLocationInBackground:(void ( ^ ) ( PFGeoPoint *geoPoint , NSError *error ))geoPointHandler

这将在后台使用 CoreLocation 来获取表示当前设备当前位置的 PFGeoPoint。如果最终您希望在地图上绘制这些点,那么您真正要找的是一对数字,代表当前用户的纬度和经度。您可以通过上述方法通过 Parse(每个 PFGeoPoint 对象都有一个纬度和一个经度)或直接使用 CoreLocation(每个 CLLocation 都有一个具有纬度和经度的 CLLocationCoordinate2D 对象)来获得此信息。

希望这能为您指明正确的方向。我知道这些文档一开始可能会让人望而生畏,但请坚持下去,不要害怕它们,您阅读和探索的越多,一切就会变得有意义。