【问题标题】:Add KML or URL Map to iPhone App将 KML 或 URL 映射添加到 iPhone 应用程序
【发布时间】:2013-07-26 04:44:32
【问题描述】:

我正在尝试使用 Apple 的示例 KMLViewer 将道路设计(kml 或 dgn)的自定义绘图覆盖到我的 iPhone 应用程序中的地图视图。我可以说它正在读取 KML,因为地图会缩放到绘图的边界,并且绘图的几个片段会按应有的方式显示。这里最大的问题是大部分图纸根本不显示。随附的屏幕截图仅显示了正在显示的图形的两行。

另外,请在此处查看调试日志:

2013-07-25 23:07:06.597 KMLViewer[2407:c07] 应用程序窗口是 期望在应用程序结束时有一个根视图控制器 启动 7 月 25 日 23:07:06 Michaels-iMac.local KMLViewer[2407]: ImageIO:CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedImageBlockData: readSession [0x8434040] 有 错误的 readRef [0x8463610]

我做了很多研究,这似乎是一个热门话题。我可以使 KMLViewer 适应我的 KML 还是有更好的 Apple 方法?我非常感谢一些建议。越具体越好。在此先感谢您的时间。

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow,请阅读:sscce.org

标签: iphone ios google-maps-api-3 mapkit kml


【解决方案1】:

您可以使用 MapBox iOS SDK 之类的东西来显示,Simple KML 来解析为原生 Cocoa 类型。如上所述,您希望使用地图视图委托提供的注释及其视图/图层。

如果这是静态地图,另一种方法是使用 TileMill 将 KML 渲染为一组可以叠加到常规地图上的图块。

【讨论】:

  • 嘿,抱歉耽搁了,但我一直在努力。我在 TileMill 中成功创建了一个切片图层并将其显示在 MapBox 地图上。除了 Mapbox 的一些限制之外,这可以按预期工作。一个对我来说很大的限制是 Mapbox 卫星底图无法以高缩放级别查看,因此当我放大以查看叠加层的详细信息时,我丢失了底图。在这一点上,MapBox 可以工作,但在他们添加更高的缩放级别功能之前,它不会完全按照我的意愿去做。很好的建议,非常接近我的需要。
【解决方案2】:

我只阅读过这个主题,因为我实际上从来没有需要在 MKMapView 中绘制自己的路线,但是...

MKPolyLine,一个 MapKit 类和 MKMapViewDelegate 协议方法mapView:(MKMapView *) viewForOverlay:(id < MKOverlay >) 将是解决方案的途径。

Apple 关于MKPolyLinemapView:viewForOverlay: 的文档

An example project

一个简单的例子,展示学习绘制 MKPolyLines 时常见的pitfall

编辑

23:07:06.597 KMLViewer[2407:c07] Application windows are expected to have a root view controller at the end of application launch

是因为你没有明确告诉 Xcode 哪个视图控制器是起始视图控制器。

您要么需要将[window addSubview:[someController view]]; 替换为

[self.window setRootViewController:someController];

applicationDidFinishLaunchingWithOptions:

或确保您的 main.m 指定了正确的委托

retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");

或(对于故事板)将您的故事板设置为构建设置中的主故事板

【讨论】:

  • 在这里做了一些研究之后,我相信我需要按照 incanus 的建议使用 Apple KMLViewer 或 MapBox。我在地图上放了一张 kml 地图,而不仅仅是一条路线,所以我需要的不仅仅是折线功能。感谢您的回复。
猜你喜欢
  • 2021-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 2011-06-15
  • 2012-05-08
相关资源
最近更新 更多