更改地图视图(mapView)的区域(缩放)- Swift

8
我有一张地图,在两个标记之间画了一个目的地,并且始终打开一个弹出窗口。
我的问题是,我想再缩小一点,但我尝试使用这段代码却没有起作用。
let span = MKCoordinateSpanMake(0.0275, 0.0275)
let coodinate = self.meLocation!
let region = MKCoordinateRegion(center: coodinate, span: span)
self.mapView.setRegion(region, animated: true)

我假设让目标线路成为问题的原因:
func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
        let renderer = MKPolylineRenderer(overlay: overlay)
        renderer.strokeColor = UIColor(red: 2.0/255.0, green: 202.0/255.0, blue: 246.0/255.0, alpha: 1.0)
        renderer.lineWidth = 2.8



        return renderer

    }

我的问题是如何默认情况下进一步缩小页面。

编辑:

我按照这个指南的步骤操作。

2个回答

11
The level of zoom depends on the span. Try changing these values:
let span = MKCoordinateSpanMake(0.0275, 0.0275)

编辑:

根据讨论,填充更适合您的地图。

尝试像这样填充边缘:

self.mapView.setVisibleMapRect(self.mapView.visibleMapRect, edgePadding: UIEdgeInsetsMake(40.0, 20.0, 20, 20.0), animated: true)

改变数值以获得更好的适配。

注意:在以下步骤之后调用:

self.mapView.setRegion(MKCoordinateRegionForMapRect(rect), animated: true)

谢谢您的回答,但我也尝试了0.1,但当它绘制目标时,它会再次缩放到渲染具有默认缩放的位置。 - mike vorisis
让我自己检查一下。 - Arpit Dongre
1
如果你想要,请按照这个指南 http://www.ioscreator.com/tutorials/draw-route-mapkit-tutorial 进行操作,我的地图高度为200像素(只是为了测试)。 - mike vorisis
我发现缩放角度是根据路线调整的,目前我找不到调整缩放级别的API。建议您在边缘添加一些填充,以便两个标记都能正确显示。我已经为GoogleMaps做了同样的事情。 - Arpit Dongre
@ArpitDongre 这对多边形也适用吗? - Saurabh
显示剩余4条评论

0

您需要设置您想要缩放的区域。这个链接可能会帮助您设置区域。

谢谢:)


1
谢谢你的回答,但是在我的问题中我已经尝试过这个了。 - mike vorisis
2
请参考此链接:https://www.raywenderlich.com/90971/introduction-mapkit-swift-tutorial - Karthick Selvaraj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接