我正构建一个MGLCoordinateBounds
,我希望在MGLMapView
中显示。一切都很好,直到我尝试使用边缘插入来提供一些填充。在所有方面调用带有100px边缘插入的setVisibleCoordinateBounds(_:, edgePadding:, animated:)
都可以。如果我在所有边上将边缘插入设置为200px,则地图视图将移动到(0,0)。我曾预料到地图缩放系数会改变以使一切都合适。 FWIW,在我正在使用的iPhone 6上,地图视图为653x750像素,插图不超过地图视图大小。
我可以使用100px填充,但我担心的是我不知道何时或为什么会出现这个问题。一些MGLCoordinateBounds
的值是否与100px填充有相同的问题?有没有办法预测和避免这个问题?
答案 0 :(得分:0)
Deep down MGLCoordinateBounds
转换为CLLocationCoordinate2D
。所有单位都是度数。
要验证,您要将100px
和200px
转换为度,是吗?
很抱歉这个显而易见的问题。将Mapview重置为(0,0)令人费解。
您可能必须根据缩放级别计算以度为单位的填充
关于填充的建议,topBottom
和leftRight
涉及一些数学
let topBottom = // computation based on Zoom level, and horizontal screen resolution
let leftRight = // computation based on Zoom level, and vertical screen resolution
let edgeOffset = UIEdgeInsetsMake(top: topBottom,
left: leftRight,
bottom: topBottom,
right: leftRight)