我正在尝试在iPhone应用程序中设置脱机地图,但结果不是很好。

我使用的是route-me框架,我有一个离线文件.db(由tile2sqlite创建),并且地图视图受坐标约束(使用setConstraintsSW:NE :)。

缩小(捏手势)时出现我的问题,此错误消息“缩放将使地图超出范围:无缩放”始终存在,并且当您不在地图的真实中心附近时,很难进行缩放。

有没有一种解决方案可以使结果与Offmaps(iOS应用程序)中的地图具有相同的滚动视图行为?

干杯。

西里尔

最佳答案

我必须编辑RMMapView.m源代码以进行快速修复。找到- (void)zoomByFactor: (float) zoomFactor near:(CGPoint) center animated:(BOOL)animated方法(在第300行附近)。它具有约束逻辑,我将其关闭:

- (void)zoomByFactor: (float) zoomFactor near:(CGPoint) center animated:(BOOL)animated
{
    if ( _constrainMovement && false ) // turn constraint checks off
    {
        //check that bounds after zoom don't exceed map constraints
        //the logic is copued from the method zoomByFactor,
        float _zoomFactor = [self.contents adjustZoomForBoundingMask:zoomFactor];
        float zoomDelta = log2f(_zoomFactor);
        ...
    }
    ...
}


现在,地图可以平滑缩放,但是此修复程序可能会产生副作用。

10-05 20:20