1

我正在使用适用于 iOS 的 ArcGIS Runtime SDK,并且我UITableViewController在弹出窗口中展示了它的子类;正在显示的主视图控制器的基本视图是AGSMapView带有AGSGraphicsLayerAGSSimpleRenderer附加)的。当弹出框出现时,无法选择单元格,并且滚动非常有限。当我将基本视图控制器的视图从 anAGSMapView更改为 blankUIView时,弹出窗口中的表格视图可以完美运行。

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实现中的一个错误,如果是,我该如何报告它?

提前致谢。

相关:Esri 论坛中的姐妹问题

编辑

我确定这个问题很难重现,所以我添加mapViewDidLoad:了添加当前位置。这会导致问题发生而不会失败。我的代码如下:

- (void)mapViewDidLoad:(AGSMapView *)mapView {
    [self.mapView.locationDisplay startDataSource];
    self.mapView.locationDisplay.autoPanMode = AGSLocationDisplayAutoPanModeDefault;
}
4

3 回答 3

0

我遇到了这个问题,但我通过在 TiledLayer 加载后添加图形层而不是在 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"];
     }
}
于 2013-09-27T12:08:14.383 回答
0

这被发现是 ArcGIS Runtime SDK for iOS 中的一个错误。Esri 支持联系我并告诉我它将在下一个版本中修复。

于 2013-07-29T01:46:25.973 回答
0

一个简单的解决方法是制作视图控制器的主视图 aUIView然后将 theAGSMapView和 popover 添加为 base 的子视图UIView

于 2013-06-17T13:58:02.757 回答