我是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
,以便我可以添加用户位置。
无论如何,我添加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
无论如何,无论出于何种原因,我都无法调用{{1}},或者ARCITE中的任何其他事件。我相信我正在做我应该做的一切,如果有人知道为什么会这样,我会非常感激他们。
答案 0 :(得分:0)
嗯,您可能不会将协议用于View Controller,如:
ViewController: UIViewController <AGSMapViewLayerDelegate>