在我的项目中,我有一个AGSMapView占据屏幕,该屏幕开始缩小以显示整个世界地图。我把它设置为水平环绕,所以它在那里工作正常。
然而,垂直地我可以在地图的顶部和底部看到一个空的灰色网格。用户还可以滚动地图,只要您处于边缘,此网格最多可占用屏幕的一半,任何缩放级别。
有没有办法将地图的边缘捕捉到它嵌入的视图的边缘而不显示这个丑陋的网格?
答案 0 :(得分:0)
你应该研究AGSMapView。 maxEnveloppe是您正在寻找的:
限制地图可以平移的数量,使其锚点(通常是中心)永远不会超出此包络。默认情况下,这是底图图层的完整信封。如果设置自定义范围,则信封必须与地图具有相同的空间参考。
顺便说一句,您可以轻松地重新设置网格backgroundColor,gridLineWidth,gridLineColor和gridSize。如果要删除网格效果,则必须将gridLineWidth设置为0。
答案 1 :(得分:0)
参考论坛Click here我找到了更适合这个问题的解决方案。我使用了'reedhr'建议的方法,我在这里复制。
- (void) removePanGesturesFromMap {
NSMutableArray * mutableGestureRecognizers = [[NSMutableArray alloc] initWithArray:MapView.gestureRecognizers];
NSMutableArray *recognizersToRemove = [[NSMutableArray alloc] init];
for (UIGestureRecognizer * gestureRecognizer in MapView.gestureRecognizers) {
if (![gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]]
&& ![gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]] ) {
[recognizersToRemove addObject:gestureRecognizer];
}
}
if (recognizersToRemove.count > 0) {
[mutableGestureRecognizers removeObjectsInArray:(NSArray*) recognizersToRemove];
MapView.gestureRecognizers = (NSArray*)mutableGestureRecognizers;
}
}