Ios KMLViewer问题

Ios KMLViewer问题,ios,mkmapview,overlays,Ios,Mkmapview,Overlays,这是我的第一篇文章,我承认我的头,但我确实需要一些帮助 我下载了苹果的KMLViewer示例来查看地图中的覆盖图。在它开始工作后,作为我“调查”的一部分,我接着添加了这句话 map = [[MKMapView alloc] initWithFrame:self.view.frame]; 就在队伍后面 [super viewDidLoad]; 我知道我没有,但我有另一个项目,需要以编程方式创建MKMapView,我想在一个更简单的工作程序上验证这种方法 结果是编译并执行了KMLViewer,没

这是我的第一篇文章,我承认我的头,但我确实需要一些帮助

我下载了苹果的KMLViewer示例来查看地图中的覆盖图。在它开始工作后,作为我“调查”的一部分,我接着添加了这句话

map = [[MKMapView alloc] initWithFrame:self.view.frame];
就在队伍后面

[super viewDidLoad];
我知道我没有,但我有另一个项目,需要以编程方式创建MKMapView,我想在一个更简单的工作程序上验证这种方法

结果是编译并执行了KMLViewer,没有错误,但不再显示由kml文件创建的覆盖。如果线被移除,覆盖层会再次出现

我错过了什么


提前感谢您的帮助。

KMLViewer中的map变量声明为IBOutlet,并连接到xib中的MKMapView。通过重新创建,新实例不再连接到xib中的实例

覆盖层可能不显示,因为:

  • 未设置新实例上的委托(因此不会调用viewForOverlay等)
  • 新地图未添加为子视图
因此,如果在alloc+init之后添加以下两行,它应该会再次开始工作:

map.delegate = self;
[self.view addSubview:map];

但是,xib中的MKMapView仍将位于新的map实例下面。

KMLViewer中的map变量声明为IBOutlet,并连接到xib中的MKMapView。通过重新创建,新实例不再连接到xib中的实例

覆盖层可能不显示,因为:

  • 未设置新实例上的委托(因此不会调用viewForOverlay等)
  • 新地图未添加为子视图
因此,如果在alloc+init之后添加以下两行,它应该会再次开始工作:

map.delegate = self;
[self.view addSubview:map];
但是,xib中的MKMapView仍将位于新map实例下面