0

我是 ARCGIS 的新手,所以请放心。

我的笔尖中有一个UIView,我把它变成了一个AGSMapView,然后我在我的UIViewController类中引用了它,它也包含<ArcGIS/ArcGIS.h>包。好吧,我想到目前为止我做的一切都是正确的。

在中运行下面的代码后viewDidLoad,我可以添加视图以使地图出现在模拟器上。

NSURL* url = [NSURL URLWithString:kTiledMapServiceURL];
AGSTiledMapServiceLayer *tiledLayer = [AGSTiledMapServiceLayer tiledMapServiceLayerWithURL:url];
[self.mapView addMapLayer:tiledLayer withName:@"kTiledMapServiceURL"];

从这里我想访问,- (void)mapViewDidLoad:(AGSMapView *) mapView所以我可以添加用户位置。

无论如何,我添加AGSMapViewLayerDelegateand set self.mapView.layerDelegate = self;。现在我的代码如下所示。

- (void)viewDidLoad 
{
[super viewDidLoad];
NSURL* url = [NSURL URLWithString:@"http://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer"];
AGSTiledMapServiceLayer *tiledLayer = [AGSTiledMapServiceLayer tiledMapServiceLayerWithURL:url];
[self.mapView addMapLayer:tiledLayer withName:@"Basemap Tiled Layer"];

self.mapView.layerDelegate = self;
} 

- (void)mapViewDidLoad:(AGSMapView *) mapView 
{
 [mapView.locationDisplay startDataSource];
}

无论如何,无论出于何种原因,我永远无法mapViewDidLoad被召唤,或者就此而言,ARCGIS 中的任何其他事件。我相信我正在做我应该做的一切,如果有人知道为什么会发生这种情况,我将不胜感激。

4

1 回答 1

0

好吧,您可能没有将协议应用于您的视图控制器,例如:

ViewController: UIViewController <AGSMapViewLayerDelegate>
于 2013-09-18T15:27:12.110 回答