2

我有一个带有地图的应用程序,并希望在更新时缩放到当前位置。

我使用-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation委托方法来了解用户位置何时更新。

现在正在调用模拟器方法。但是当我在设备(iphone 2g)上测试它时,地图上的位置会更新,但是根本没有调用“didUpdateUserLocation”方法,委托方法“mapViewWillStartLocatingUser”也是如此。

系统询问我是否允许为应用获取我的位置并开始显示我的位置,但是

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
NSLog(@"didUpdateUserLocation = '%@'", userLocation);   

}

永远不会被调用。

4

2 回答 2

2

参考资料提到此委托方法自 iOS 4.0 起可用。您的模拟器很可能正在运行 iOS 4.0,而您的手机 - iOS 3.1。

我有同样的问题,仍在寻找解决方案。也许直接访问 CL 方法会有所帮助。

于 2010-07-25T20:27:13.953 回答
0

试试这个 Map.showsUserLocation=YES;

于 2010-08-03T06:40:19.560 回答