1

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

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

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

是否有与地图具有良好滚动视图行为的 Offmaps(iOS 应用程序)具有相同结果的解决方案?

干杯。

西里尔

4

2 回答 2

0

相反,您可以使用设置 setConstraintsSW:NE:我们可以将 RMMapview 设置为,

RMDBMapSource *mapSrc = [[[RMDBMapSource alloc] initWithPath:@"mapDB.sqlite"] autorelease];

[[RMMapContents alloc] initWithView:mapView tilesource:mapSrc centerLatLon:mapSrc.centerOfCoverage zoomLevel:17 maxZoomLevel:18 minZoomLevel:15 backgroundImage:image  screenScale:10 ];

这将使您能够根据设置的参数进行缩放

于 2012-04-11T12:19:16.987 回答
0

我不得不编辑 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);
        ...
    }
    ...
}

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

于 2012-05-17T14:59:49.540 回答