我是 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
所以我可以添加用户位置。
无论如何,我添加AGSMapViewLayerDelegate
and 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 中的任何其他事件。我相信我正在做我应该做的一切,如果有人知道为什么会发生这种情况,我将不胜感激。