【发布时间】:2014-08-08 15:14:15
【问题描述】:
我正在尝试设置 GMSMapView 的 initial 中心位置。那里有大约 2000 个教程向您展示如何使用任意坐标进行设置,如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
// Create a GMSCameraPosition that tells the map to display the
// coordinate -33.86,151.20 at zoom level 6.
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20
zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera2];
但我不想从澳大利亚开始,而是搬到用户实际所在的任何地方。我想从用户所在的任何地方开始,就像 Google 地图应用的工作方式一样。
以下是我认为我知道的:
- 如果我设置
mapView_.myLocationEnabled = YES;,我应该能够使用mapView_.myLocation检索设备位置 - 但 GPS 数据可能在
viewDidLoad期间尚不可用,因此该值最初将为 0,0 或 nil 或其他任何值(无用的东西)。 - 可以使用
CLLocationManager管理设备位置,以跟踪设备是否移动等。
但是如何将(最终)存储在 CLLocationManager 中的数据传递给 GMSMapView,以便我从正确的位置开始?
这似乎不应该那么难,但经过2个小时的搜索,我找不到答案。
【问题讨论】:
标签: ios objective-c google-maps google-maps-sdk-ios