我正在使用ArcGIS Runtime SDK for iOS,我有一个UITableViewController
的子类,我在一个弹出窗口中呈现;显示的主视图控制器的基本视图是AGSMapView
,其中附加AGSGraphicsLayer
(AGSSimpleRenderer
)。当呈现弹出窗口时,无法选择单元格,并且滚动非常有限。当我将基本视图控制器的视图从AGSMapView
更改为空白UIView
时,弹出框中的表视图可以正常工作。
我的viewDidLoad:
如下:
[super viewDidLoad];
self.mapView.layerDelegate = self;
self.mapView.calloutDelegate = self;
self.mapView.callout.delegate = self;
// Create an instance of a tiled map service layer.
AGSTiledMapServiceLayer *tiledLayer = [[AGSTiledMapServiceLayer alloc] initWithURL:[NSURL URLWithString:@"http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"]];
// Add it to the map view.
[self.mapView addMapLayer:tiledLayer withName:@"Tiled Layer"];
AGSSimpleMarkerSymbol *simpleMarkerSymbol = [AGSSimpleMarkerSymbol simpleMarkerSymbol];
self.graphicsLayer.renderer = [AGSSimpleRenderer simpleRendererWithSymbol:simpleMarkerSymbol];
// Add graphics layer to the map view.
[self.mapView addMapLayer:self.graphicsLayer withName:@"Graphics Layer"];
这可能是AGSMapView
实施中的错误,如果是,我该如何报告呢?
提前致谢。
相关:Sister Question in the Esri Forums
修改
我确定该问题很难重现,因此我添加了mapViewDidLoad:
来添加当前位置。这会导致问题发生。我的代码如下:
- (void)mapViewDidLoad:(AGSMapView *)mapView {
[self.mapView.locationDisplay startDataSource];
self.mapView.locationDisplay.autoPanMode = AGSLocationDisplayAutoPanModeDefault;
}
答案 0 :(得分:0)
一个简单的解决方法是将视图控制器的主视图设为UIView
,然后将AGSMapView
和您的popover添加为基础UIView
的子视图。
答案 1 :(得分:0)
这被发现是ArcGIS Runtime SDK for iOS中的一个错误。 Esri Support联系了我并告诉我它将在下一个版本中修复。
答案 2 :(得分:0)
我遇到了这个问题但是我在TileLayer加载后没有在viewDidLoad中添加图形层来解决这个问题
-(void)layerDidLoad:(AGSLayer *)layer
{
NSLog(@"layer %@ loaded",layer.name);
if(!self.graphicLayer)
{
self.graphicLayer = [AGSGraphicsLayer graphicsLayer];
[self.mapView addMapLayer:self.graphicLayer withName:@"Graphic Layer"];
}
}