菜鸟教程小白 发表于 2022-12-12 09:14:36

ios - 在 2D 和 3D map View 之间切换 (pitchEnabled)


                                            <p><p>我有一个 iOsmap 应用程序,其中默认使用 3DView 。因此,<code>MKMapCamera</code> 设置在开头(音高值为<code>45</code>)。但是,我想为用户提供禁用 3Dmap 的选项,以防他们更喜欢 2Dmap 。因此,为了在 View 之间进行切换,我将更改相机的俯仰角(<code>0</code> 在 2D 中,<code>45</code> 在 3D 中)并禁用/启用更改它(<code> setPitchEnabled = NO/YES</code>).</p>

<p>由于某种原因,在我禁用了音高之后,我无法再启用 3DView ,即在我设置了一次 <code></code> 之后,我无法更改将其更改为 <code>YES</code> (尝试将其更改回 <code>YES</code> 后,<code>pitchEnabled</code> 将其值保持为 <code>NO</code> 时它打印在 <code>NSLog</code> 中)。 <strong>因此我无法从 2D 回到 3D。您知道是什么原因造成的吗?</strong>这很令人困惑,因为我尝试启用和禁用旋转(<code></code> 或 <code>YES</code>) 以相同的方式,在这种情况下,它在这两种情况下完美地工作。但不是与音高 - 在禁用音高后,我无法再启用它。下面是开始设置相机的函数(<code>setCamera</code>)和在模式之间切换的函数(<code>toggleViewMode</code>)。</p>

<pre><code>//Function that sets the 3D-view in the beginning

-(void)setCamera {

    CLLocationCoordinate2D userLocation;
    userLocation.latitude = self.locationManager.currentLatitude;
    userLocation.longitude = self.locationManager.currentLongitude;

    if(_cameraSet == YES) {
      NSLog(@&#34;Camera is set already, return&#34;);
      return;
    }


    if ( &amp;&amp; _show3Dmap) {

      _cameraSet = YES;
      ;

      MKMapCamera *newCamera = [ copy];
      ;
      ;
      ;

      ;
    }
}


//Toggle between 2D and 3D
-(void)toggleViewMode:(BOOL)birdView {

    if(birdView == YES) {
      _mapView.camera.pitch = 45;
      ;
    } else {
      _mapView.camera.pitch = 0;
      ;
    }

}
</code></pre>

<p>}</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在别处找到答案。
您还必须设置相机。</p>

<p>这是一个示例相机初始化:</p>

<pre><code>MKMapCamera *newCamera = [ copy];
;
;
;
;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 2D 和 3DmapView 之间切换 (pitchEnabled),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22915949/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22915949/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 2D 和 3D map View 之间切换 (pitchEnabled)