【发布时间】:2012-11-07 20:16:13
【问题描述】:
我对 iOS 中的 MapKit 有疑问。我有 3 个屏幕。第一个屏幕(主视图),第二个屏幕(详细视图)和第三个屏幕(扩展第二个屏幕)。所以我单击主视图并转到详细视图。在详细视图中,我有一个地图套件。因此,当我第一次从 1->2 移动时,它运行得很快并且无法加载 mapkit。我得到了位置,但在世界地图视图中。但是我回到第一个屏幕并返回到第二个屏幕,然后它以放大模式显示我所在位置周围的区域,并带有一个蓝点。所以我的问题是,是否有一个函数可以设置放大然后加载我的 UIview。基本上,停止直到地图对用户位置进行三角测量,然后在完成后显示放大模式和视图的其余部分。?如果需要更多信息,请告诉我...谢谢
【问题讨论】:
-
你是在加载时设置地图的 visibleRegion/visibleMapRect 吗?
-
@tc。是的,我在 viewWillAppear 中设置了这条线。 [self.mapView setRegion:viewRegion Animation:YES];这是你要求的吗?
-
viewRegion 设置为什么?
-
@tc #define METERS_PER_MILE 1609.344 MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 0.5 *METERS_PER_MILE, 0.5*METERS_PER_MILE);。另外,我可以获得一个缩放图标(+,-)来放大或缩小地图套件。如果是,如何?
-
用代码更新你的问题会更有帮助——我不知道“zoomLocation”的设置是什么。但是,您似乎试图在视图加载时放大用户的“当前位置”,直到几秒钟后才可用;考虑设置
MKMapView.userTrackingMode或实现-mapView:didUpdateUserLocation:委托方法。
标签: objective-c ios location mapkit coordinates