菜鸟教程小白 发表于 2022-12-12 13:53:33

iphone - "StopUpdatingLocation"被调用但 GPS 箭头不消失


                                            <p><p>我不明白为什么在调用 stopUpdatingLocation 后灰色 gps 箭头不会消失。这是我的代码:</p>

<pre><code>- (void)viewDidLoad
{
    ;

    // Do any additional setup after loading the view from its nib.
    if (self.locationManager == nil)
    {
    self.locationManager = [[ init]autorelease];
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    self.locationManager.delegate = self;
    }
    CLLocation *location = ;
    CLLocationCoordinate2D coordinate = ;

    g_lat = coordinate.latitude;
    g_lng = coordinate.longitude;


    ;
    }
</code></pre>

<p>这里是我的 didUpdateLocation:</p>

<pre><code>- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
    {
    NSLog(@&#34;Core location has a position.&#34;);

    CLLocationCoordinate2D coordinate = ;

    global_lat = coordinate.latitude;
    global_lng = coordinate.longitude;

    ;

    }

- (void) locationManager:(CLLocationManager *)manager
    didFailWithError:(NSError *)error
{

    NSLog(@&#34;Core location can&#39;t get a fix.&#34;);
}
</code></pre>

<p>我还检查了是否有其他应用正在使用 GPS!
20分钟后,箭头仍然存在......
感谢您的帮助!</p>

<p><em><strong>编辑:</strong></em></p>

<p>我想我错过了一些非常重要的事情,在应用程序启动后我的第一个 View 中有一个谷歌地图!这是我的代码:</p>

<pre><code>GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:g_lat
                                                            longitude:g_lng
                                                               zoom:15];



    self.mapView = [GMSMapView mapWithFrame:CGRectMake(1.0f, 160.0f, 320.0f, 100)
                                     camera:camera];

    self.mapView.delegate = self;
    self.showsUserLocation = YES;
    self.mapView.trafficEnabled = YES;
    self.mapView.myLocationEnabled = YES;
    self.mapView.settings.myLocationButton = YES;
    self.mapView.settings.compassButton = YES;
    ;
    ;

    ;
</code></pre>

<p>谷歌地图有没有可能一直在更新?如果是,我该如何阻止?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>关于谷歌地图:当你推送新的 ViewController 时,你是否关闭了 <code>myLocationEnabled</code> 字段?如果没有,那么这可以保持 GPS 运行。您可以通过不在下一个 ViewController 上启动 GPS 来尝试。如果 GPS 保持开启状态,则说明 map 正在保持它。</p>

<p>旁注:这可能是正常操作的一部分。如果您的应用程序停止接收位置更新,那么您做得很好。 iOS 做了很多优化,让 GPS 开启一段时间可能就是其中的一部分。在测试过程中,我看到即使应用程序被 XCode 杀死,箭头通常也会保持一段时间。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - &#34;StopUpdatingLocation&#34;被调用但 GPS 箭头不消失,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/18490153/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/18490153/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - &#34;StopUpdatingLocation&#34;被调用但 GPS 箭头不消失