这是我的第一篇文章,我无可否认,但我确实需要一些帮助。
我下载了Apple的KMLViewer示例,以查看地图中的叠加层。在开始工作之后,作为我的“调查”的一部分,我然后添加了行
map = [[MKMapView alloc] initWithFrame:self.view.frame];
后面
[super viewDidLoad];
我知道我没有,但我有另一个需要以编程方式创建MKMapView的项目,我想在一个更简单的工作程序上验证该方法。
结果是KMLViewer编译并执行时没有错误,但不再显示kml文件创建的叠加层。如果该线被移除,则叠加层再次出现。
我错过了什么?
提前感谢您的帮助。
答案 0 :(得分:1)
KMLViewer中的map变量声明为IBOutlet,并连接到xib中的MKMapView。通过重新创建它,新实例不再连接到xib中的实例。
叠加可能没有显示,因为:
因此,如果在alloc + init之后添加以下两行,它应该再次开始工作:
map.delegate = self;
[self.view addSubview:map];
但是,xib中的MKMapView仍将位于新地图实例的下方。