菜鸟教程小白 发表于 2022-12-11 20:21:10

ios - MKMapView:偏移贴图,使注解可见


                                            <p><p>我有一个 MapView,底部的补充 View 始终可见。有时,补充 View 会部分阻塞选定的 <em>MKAnnotationView</em>。当以编程方式选择注释时,有什么方法可以将 map 向上移动一点?</p>

<p>我现在使用的代码如下:</p>

<pre><code>mapView.selectAnnotation(selected, animated: true)
mapView.showAnnotations(, animated: true)
</code></pre>

<p> <a href="/image/jyw2q.png" rel="noreferrer noopener nofollow"><img src="/image/jyw2q.png" alt="enter image description here"/></a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我已经完成的代码:</p>

<pre><code>    let coordinate = selected.coordinate
    let delta = CLLocationDegrees(0.003)
    let span = MKCoordinateSpan(latitudeDelta: delta, longitudeDelta: delta)
    let region = MKCoordinateRegion(center: coordinate, span: span)
    let rect = MKMapRectForCoordinateRegion(region: region)
    // Adjust padding here
    let insets = UIEdgeInsets(top: 0, left: 0, bottom: 150, right: 0)
    mapView.setVisibleMapRect(rect, edgePadding: insets, animated: true)



   // Convert CoordinateRegion to MapRect
func MKMapRectForCoordinateRegion(region:MKCoordinateRegion) -&gt; MKMapRect {
    let topLeft = CLLocationCoordinate2D(latitude: region.center.latitude + (region.span.latitudeDelta/2), longitude: region.center.longitude - (region.span.longitudeDelta/2))
    let bottomRight = CLLocationCoordinate2D(latitude: region.center.latitude - (region.span.latitudeDelta/2), longitude: region.center.longitude + (region.span.longitudeDelta/2))

    let a = MKMapPointForCoordinate(topLeft)
    let b = MKMapPointForCoordinate(bottomRight)

    return MKMapRect(origin: MKMapPoint(x:min(a.x,b.x), y:min(a.y,b.y)), size: MKMapSize(width: abs(a.x-b.x), height: abs(a.y-b.y)))
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - MKMapView:偏移贴图,使注解可见,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/51246045/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/51246045/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - MKMapView:偏移贴图,使注解可见