我正在为 GPS 记录文件格式(.fit
文件)编写 Quicklook 生成器插件。我把一些东西放在一起,加载文件并使用NSGraphics
/NSBezier
东西绘制路径:
(上面的可怕代码可以在这里找到)
这很好,但是在谷歌地图数据或类似数据上显示它会更好(记录的轨道覆盖相当小的距离 - 例如,上面覆盖了大约 20 公里乘 10 公里 - 太小而无法显示在单一的地球地图上,所以地图需要以某种方式动态加载)
到目前为止我尝试过的事情:
- 返回显示 Javascript GMap 实例的 HTML。不起作用,因为 Quicklook HTML 渲染不允许使用 Javascript(或 Flash、Java 等)
- 返回包含静态 Google 地图图像的 HTML。Quicklook 不会加载远程图像。
- 获取一个 NSGraphicsContext 并在其中显示一个标准的 WebKitView,从一些缩略图代码修改- 这个错误是因为您无法从辅助线程初始化 WebKit(这似乎适用于缩略图,但不适用于预览?)
我可以在2.
ObjC 中下载静态谷歌地图图像,然后用 HTML 显示,但静态地图并不理想(固定大小,因此没有缩放,并且最初加载可能很慢)
我遇到了我还没有尝试过的MacMapKit,但由于它是基于 WebKit 的,我怀疑它会遇到与3.
是否有某种方法可以在我忽略的 Quicklook 中显示地图?