【问题标题】:MapKit custom annotations being added to map, but are not visible on the mapMapKit 自定义注释被添加到地图,但在地图上不可见
【发布时间】:2010-06-09 08:37:58
【问题描述】:

我有一个带有 mapView 和 UITableView 的界面。从服务器加载数据,并创建注释并将其添加到地图中

[mapView addAnnotation:truck]

然后使用从

返回的数组填充 tableview

[mapView annotations]

一旦这个过程完成,我会检查地图上的注释数量,每当我点击表格中的一个单元格时都会调用[[mapView annotations] count],它等于它应该是的数量,所以所有的注释都被添加了到 mapView 上,但由于某种原因,我在模拟器中看不到任何注释。

图像的命名与在自定义 AnnotationView 中分配的一样,loadAnnotation 函数已正确完成,等等...我不知道它可能是什么,但我查看了图像文件之间的关联及其加载位置一百次找到差异,但一切看起来都很好。

一个有趣的点是,当我在单击单元格后打印和坐标值时(请记住,此数据直接来自 [mapView annotations],它看起来不错......但无论出于何种原因,注释视图都没有显示。

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

谢谢

编辑了重要的附加信息

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

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

这对模拟器中的地图没有影响。我已经检查过传递的坐标实际上是一个有效的坐标,但这似乎并不重要,因为地图没有响应。我认为我的 .xib 可能有问题,但它都连接正确。 delegate 是 outlet,mapView 是引用 outlet。

现在有人知道可能发生什么了吗?

【问题讨论】:

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


    【解决方案1】:

    这看起来确实像缺少图像。

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

    你实现了以下委托函数吗?

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

    【讨论】:

      【解决方案2】:

      这一行:

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

      正在搞砸一切。一旦我将其注释掉,该应用程序就开始正常工作了。

      【讨论】:

        猜你喜欢
        • 2021-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-27
        相关资源
        最近更新 更多