2011-06-01 54 views
0

我通过- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation获取位置。它应该在你移动时工作(不能真正在模拟器中测试它,至少我不知道如何),但是当我第一次加载应用程序时,mapview专注于整个世界,而不仅仅是我的位置。我可以以任何方式调用方法来更改第一个视图上的位置吗? 这里是我当前的代码是否有帮助: http://pastebin.com/9Sb2xVmE http://pastebin.com/rh9WB2caiPhone LocationManager - 在App上获取坐标开始

+2

要求换新之前,您应该接受的答案你以前的问题...... – 2011-06-01 17:18:37

+0

您可以在模拟器中做到这一点,只有该地图显示苹果总部。如果你的devmachine是一台MacBook,你可以随时随地使用它,模拟器将更新位置。这是因为模拟器使用了Mac OS X使用的相同CoreLocation框架。 – 2011-06-01 17:33:52

回答

2

如果您使用mapkit:

你试过

setRegion:(MKCoordinateRegion)region animated:(BOOL)animated 

例子:

CLLocationCoordinate2D coord = {latitude: 61.2180556, longitude: -149.9002778}; 
MKCoordinateSpan span = {latitudeDelta: 0.2, longitudeDelta: 0.2}; 
MKCoordinateRegion region = {coord, span}; 

[mapView setRegion:region]; 

这应该放大的MapView到你想要的大小,同时保持专注于中心。

如果您使用CoreLocation:

下面有什么可能出现了问题清单:

  • 你记得导入
  • 你有一个位置管理器(的LocationManager = [[ CLLocationManager alloc] init];)
  • 代码中提到的代码是否在位置管理器的代理中?

我建议您转到此页:Getting location of a iOS device with objective-C并按照教程一点一点地操作。这应该会帮助你。

此外,继承人的mapkit文档

祝您好运与您的项目:]

+0

嗨,是的setRegion工程,但didUpdateToLocation不是在开始时调用,所以我无法得到coords和缩放地图,所以我想知道一种方式如何以某种方式在开始时调用didUpdateToLocation应用程序 – haluzak 2011-06-01 17:37:49

0

,我们能不能在模拟器中运行它来获取当前位置。如果您在设备中运行该应用程序,它将显示正确的位置。在模拟器中,它将显示默认的位置为califorina(苹果头四肢)。

+0

是的,我知道,但问题是我想让地图视图放大位置集(默认加利福尼亚州),但是当我第一次查看地图时,它没有放大,它保持缩小并显示整个世界。 – haluzak 2011-06-01 17:24:08