我在模拟器中使用MKMapView控件(SDKv3.0)已经有几天了。我已经能够绘制任意位置的地图,缩放它,放置大头针,并添加注释。然而,我对MKMapView控件本身(模拟器之外)的全部功能仍然有点模糊。
如果选中MKMapView的“显示用户位置”属性,iPhone模拟器就会向苹果总部发出警告。显然,模拟器实际上并没有对手机的实际位置进行地理编码。
然而,这个功能是否意味着MKMapView中有一个CLLocationManager的实例?换句话说,当“显示用户位置”选项被选中时,MKMapView会自动找到手机的位置并丢掉一个别针吗?如果是这样,它是否会在没有提示获取位置的情况下执行此操作?是否可以在IB中设置默认缩放级别?
耽误您时间,实在对不起,
克雷格·布坎南
发布于 2009-10-19 11:09:08
这是一个编程缩放的例子(在IB中没有办法做到这一点):
MKCoordinateRegion region;
MKCoordinateSpan span;
span.latitudeDelta=0.02 / 10; // zoom level
span.longitudeDelta=0.02 / 10;
CLLocationCoordinate2D location;
location.latitude = latitude; // set these var's first!
location.longitude = longitude;
region.span=span;
region.center=location;
[mapView setRegion:region animated:TRUE];
[mapView regionThatFits:region];我不确定这是否是你想要的,但是你有没有尝试过对存储的CLLocation使用mapView.userLocation?
还要记住,在iPhone模拟器中,除非(从Xcode4)更改模拟用户的位置-这是Xcode中控制台上方的位置服务箭头-图标,否则引脚将始终落在Apple HQ上。当使用设备时,坐标应移动到您的GPS位置,这取决于覆盖范围。
发布于 2009-10-07 08:57:19
它确实定位了用户的当前位置,并请求许可(不过,像所有其他应用程序一样,我确信可以设置一个默认的"Yes“)。我几乎百分之百确定你不能在IB中设置缩放。我相信这在编程上很简单,但我(和你一样)在等待苹果在MKMaps上给我们提供一些411!但我们总是可以不断地打字,直到某些东西生效为止;-)
祝好运!
发布于 2009-08-14 13:38:18
我不这样认为。在英国的手机上运行,默认的地图视图仍然以无限循环为中心。
对于这类事情,我尽量避免使用IB,而是使用代码。
https://stackoverflow.com/questions/1167693
复制相似问题