菜鸟教程小白 发表于 2022-12-12 23:39:23

ios - MKMapView setRegion 最小跨度


                                            <p><p>我正在使用 MKMapView 在 map 上显示一些 Assets 。这些 Assets 可以集群。当用户点击集群时,我会根据集群中 Assets 的位置计算 MKCoordinateRegion,然后放大 map :</p>

<pre><code>- (void)collectionView:(UICollectionView *)cv didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
    NSIndexSet *indexSet = self.aggregates;
    NSArray *assets = ;

    if(assets.count == 1){
      ;
    } else {
      MKCoordinateRegion region = ;
      NSLog(@&#34;Current mapView.region: %f,%f&#34;, self.mapView.region.span.latitudeDelta, self.mapView.region.span.longitudeDelta);
      NSLog(@&#34;Calculated mapregion: %f,%f&#34;, region.span.latitudeDelta, region.span.longitudeDelta);
      ;
    }
}
</code></pre>

<p>即使我的函数正确地计算了区域, map 也只会放大到某个级别。用户可以毫无问题地进一步捏合和放大,但它不会让我以编程方式靠近。以编程方式,最小跨度似乎约为 0.008x0.008。 </p>

<p>这是我的代码在用户第一次缩小,然后点击集群时输出的内容:</p>

<pre><code>2014-07-01 12:26:46.123 Current mapView.region: 0.407665,0.412912
2014-07-01 12:26:46.124 Calculated mapregion: 0.000750,0.000755
</code></pre>

<p>然后代码无法放大到大小为 0.000750、0.000750 的跨度。</p>

<pre><code>2014-07-01 12:26:50.330 Current mapView.region: 0.008123,0.008240
2014-07-01 12:26:50.331 Calculated mapregion: 0.000750,0.000755
</code></pre>

<p>再试一次,还是一样。</p>

<pre><code>2014-07-01 12:26:53.349 Current mapView.region: 0.008123,0.008240
2014-07-01 12:26:53.350 Calculated mapregion: 0.000750,0.000755
</code></pre>

<p>我慢慢增加了函数输出的最小跨度,但这没关系。 map 不会再放大了。 </p>

<p>如果我找不到让它工作的方法,我会看看设置 MKCamera</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>其他人已回答,但在 SO 上很难找到。使用 MKMapCamera,您可以缩小到 100 英尺的跨度或更小。</p>

<pre><code>MKMapCamera *myCamera = [MKMapCamera cameraLookingAtCenterCoordinate:newLocation
                                                 fromEyeCoordinate:newLocation eyeAltitude:50];
;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - MKMapView setRegion 最小跨度,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24517976/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24517976/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - MKMapView setRegion 最小跨度