MapKit自定义注释被添加到地图中,但在地图上不可见

时间:2010-06-09 08:37:59

标签: iphone objective-c iphone-sdk-3.0 mapkit

我有一个带有mapView和UITableView的界面。从服务器加载数据,并使用

创建注释并将其添加到地图中

[mapView addAnnotation:truck]

然后使用从

退回的数组填充tableview

[mapView annotations]

完成此过程后,每当我点击表格中的单元格并且它等于应该的数字时,我会检查地图上带有[[mapView annotations] count]的注释数量,因此所有注释都是添加到mapView上,但由于某种原因,我无法在模拟器中看到任何注释。

图像的命名就像它们在自定义AnnotationView中分配一样,loadAnnotation函数正确完成等等...我不知道它可能是什么但是我看着图像文件之间的关联并且它加载了一个一百次找到差异,但一切看起来都不错。

一个有趣的观点是,当我在单击单元格后打印并协调值时(请记住此数据直接来自[mapView annotations],它看起来很好......但无论出于何种原因,注释视图都不会显示。< / p>

所以我想如果我可以得到一个问题的答案,那么mapView包含多个注释的可能原因是什么,但是不能在地图上显示任何问题?

由于

使用重要附加信息进行编辑

在模拟器中我的地图上显示的内容与在mapView对象中看到的内容之间似乎存在脱节。例如,当我在tableView中选择一行时,我正在调用:

[mapView setRegion:MKCoordinateRegionMake([annotation coordinate], MKCoordinateSpanMake(.01, .01)) animated:YES];

这对模拟器中的地图没有影响。我已经检查过传递的坐标实际上是一个有效的坐标,但它看起来并不重要,因为地图没有响应。我认为我的.xib可能有问题,但它们都正确连接了。 delegate是插座,mapView作为参考插座。

现在是否有人了解可能发生的事情?

2 个答案:

答案 0 :(得分:0)

这看起来像是缺少图像。

尝试使用MKPinAnnotations替换您的自定义注释进行测试,然后查看您的注释是否可见。

您是否实施了以下委托功能?

  • (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation;

答案 1 :(得分:0)

这一行:

mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];

正在制造搞乱一切的东西。一旦我评论出来,该应用程序开始正常工作。