我正在尝试在iPhone应用中设置离线地图,但效果不是很好。
我正在使用route-me框架,我有一个脱机文件.db(由tiles2sqlite创建),地图视图用坐标约束(使用setConstraintsSW:NE:)。
我的问题出现在缩小(捏合手势)时,此错误消息“缩放将移动地图越界:无缩放”始终存在,当您不在真正的中心附近时缩小非常困难地图。
是否有解决方案可以获得与Offmaps(iOS应用)相同的结果,其中地图具有良好的滚动视图行为?
干杯。
西里尔
答案 0 :(得分: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 ];
这样可以根据您设定的参数进行缩放
答案 1 :(得分: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);
...
}
...
}
现在地图平滑缩放,但此修复可能会产生副作用。