Ios 没有手机/wifi连接的MKMapview无法在设备上正确显示 定义位置距离80.4672 -(无效)viewDidLoad { [超级视图下载]; ……一些计算 locationManager=[[CLLocationManager alloc]init]; locationManager.delegate=self; [locationManager设置了所需的准确性:KCallocationAccuracyBestforNavigation]; [locationManager setDistanceFilter:KCLDistanceFilterOne]; [locationManager startUpdatingLocation]; 调度时间=调度时间(现在调度时间,每秒360.0*NSEC); 调度\u after(popTime,调度\u get\u main\u queue(),^(void){ [locationManager停止更新位置]; }); 更多的计算 } -(无效)位置管理器:(CLLocationManager*)管理器更新位置:(NSArray*)位置 { CLLocation*obj=[locations lastObject]; if(obj.coordinate.latitude!=0&&obj.coordinate.longitude!=0) { CLLocationCoordinate2D电流坐标; CurrentCoordinates.latitude=obj.coordinate.latitude; currentcordinates.longitude=obj.coordinate.longitude; 如果(obj.HorizontalAccurance>0&&obj.HorizontalAccurance

Ios 没有手机/wifi连接的MKMapview无法在设备上正确显示 定义位置距离80.4672 -(无效)viewDidLoad { [超级视图下载]; ……一些计算 locationManager=[[CLLocationManager alloc]init]; locationManager.delegate=self; [locationManager设置了所需的准确性:KCallocationAccuracyBestforNavigation]; [locationManager setDistanceFilter:KCLDistanceFilterOne]; [locationManager startUpdatingLocation]; 调度时间=调度时间(现在调度时间,每秒360.0*NSEC); 调度\u after(popTime,调度\u get\u main\u queue(),^(void){ [locationManager停止更新位置]; }); 更多的计算 } -(无效)位置管理器:(CLLocationManager*)管理器更新位置:(NSArray*)位置 { CLLocation*obj=[locations lastObject]; if(obj.coordinate.latitude!=0&&obj.coordinate.longitude!=0) { CLLocationCoordinate2D电流坐标; CurrentCoordinates.latitude=obj.coordinate.latitude; currentcordinates.longitude=obj.coordinate.longitude; 如果(obj.HorizontalAccurance>0&&obj.HorizontalAccurance,ios,mkmapview,coordinates,cllocationmanager,Ios,Mkmapview,Coordinates,Cllocationmanager,手机和GPS位于同一芯片上,因此关闭手机也会关闭GPS。如果您只想停止数据传输,但仍然需要GPS,则可以在网络设置下关闭移动数据。您仍然可以拨打电话,但您的设备无法下载任何内容(如果您也关闭了wifi)。所谓“无wifi/无手机模式”是指“飞机”吗模式?是手机芯片关闭了,还是你刚刚失去了接收功能?@Craig。我的意思是我关闭了设备上的wifi和手机。我关闭它们是为了模拟无接收区模式下的情况。那么,当用户在没有wifi/无手机连接的地方使用带有MapView的应用程序时,地图视图会发生什么变化?

手机和GPS位于同一芯片上,因此关闭手机也会关闭GPS。如果您只想停止数据传输,但仍然需要GPS,则可以在网络设置下关闭移动数据。您仍然可以拨打电话,但您的设备无法下载任何内容(如果您也关闭了wifi)。

所谓“无wifi/无手机模式”是指“飞机”吗模式?是手机芯片关闭了,还是你刚刚失去了接收功能?@Craig。我的意思是我关闭了设备上的wifi和手机。我关闭它们是为了模拟无接收区模式下的情况。那么,当用户在没有wifi/无手机连接的地方使用带有MapView的应用程序时,地图视图会发生什么变化?如果他在飞机上,那怎么办?GPS在任何地方都能工作吗?GPS在没有连接的情况下工作,因为它是真正的GPS,它与卫星通信。但是如果你关闭手机芯片(就像打开“飞机”模式一样),GPS也会关闭。如果已经缓存了一些地图数据,你仍然可以看到这些数据,但这些数据不会再被获取(显然,没有数据连接)但它无法计算出你的位置。在这一点上,开发人员需要做些什么。他们可以显示错误,他们可以崩溃,他们可以等到GPS收到信号。GPS将在飞机上工作,但它被称为“飞机”模式,因为大多数航空公司希望你在飞行时关掉所有的东西。好的,明白了。所以现在在设备上,我打开了飞行模式,屏幕上有一个地图视图。我看到空白代替了地图视图。关于地面上远程区域的无wifi/无手机信号。地图会显示当前位置吗ut是一个数据连接,因为它是真正的GPS,它监听卫星,而不是手机发射塔。(尽管当它监听手机发射塔/wifi时,它能更快地得到修复,请查看AGPS)
 #define LOCATION_DISTANCE 80.4672
 - (void)viewDidLoad
{
     [super viewDidLoad];
     ....some computation
     locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
    [locationManager setDistanceFilter:kCLDistanceFilterNone];
    [locationManager startUpdatingLocation];

    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 360.0*NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        [locationManager stopUpdatingLocation];

    });
     ..........some more computation
 }
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{

  CLLocation *obj = [locations lastObject];
  if (obj.coordinate.latitude != 0 && obj.coordinate.longitude != 0 )
{
    CLLocationCoordinate2D currrentCoordinates ;
    currrentCoordinates.latitude = obj.coordinate.latitude;
    currrentCoordinates.longitude = obj.coordinate.longitude;
 if(obj.horizontalAccuracy>0 && obj.horizontalAccuracy<100){
            self.turnedOffLocationServices =YES;
                [locationManager stopUpdatingLocation];

        } .... more computation
  [self setUpMap:currrentCoordinates];
}
 - (void)setUpMap:(CLLocationCoordinate2D)currentCoordinates
{
      MKCoordinateRegion extentsRegion = MKCoordinateRegionMakeWithDistance(currentCoordinates, LOCATION_DISTANCE, LOCATION_DISTANCE);

MKMapView *mvMap = [[MKMapView alloc] initWithFrame:CGRectMake(20, 594, 360, 347)];
mvMap.delegate = self;
[mvMap setRegion:extentsRegion animated:YES];
mvMap.mapType = MKMapTypeSatellite;
mvMap.autoresizingMask = UIViewAutoresizingNone;
//mvMap.showsUserLocation = YES;
NSLog(@"the current lat is %f", currentCoordinates.latitude);
NSLog(@"the current long val is %f", currentCoordinates.longitude);

[self.scrollView addSubview:mvMap];

ITMAnnotation *annotation = [[ITMAnnotation alloc] initWithCoordinate:currentCoordinates addressDictionary:nil];
annotation.title = @"Drag to Move Pin";
annotation.subtitle = [NSString stringWithFormat:@"%f %f", annotation.coordinate.latitude, annotation.coordinate.longitude];
NSLog(@"subtitle change at 314");

[mvMap addAnnotation:annotation];
self.tempMapView = mvMap;
}