1

我正在为 GPS 记录文件格式(.fit文件)编写 Quicklook 生成器插件。我把一些东西放在一起,加载文件并使用NSGraphics/NSBezier东西绘制路径:

路径图

(上面的可怕代码可以在这里找到

这很好,但是在谷歌地图数据或类似数据上显示它会更好(记录的轨道覆盖相当小的距离 - 例如,上面覆盖了大约 20 公里乘 10 公里 - 太小而无法显示在单一的地球地图上,所以地图需要以某种方式动态加载)

到目前为止我尝试过的事情:

  1. 返回显示 Javascript GMap 实例的 HTML。不起作用,因为 Quicklook HTML 渲染不允许使用 Javascript(或 Flash、Java 等)
  2. 返回包含静态 Google 地图图像的 HTML。Quicklook 不会加载远程图像。
  3. 获取一个 NSGraphicsContext 并在其中显示一个标准的 WebKitView,从一些缩略图代码修改- 这个错误是因为您无法从辅助线程初始化 WebKit(这似乎适用于缩略图,但不适用于预览?)

我可以在2.ObjC 中下载静态谷歌地图图像,然后用 HTML 显示,但静态地图并不理想(固定大小,因此没有缩放,并且最初加载可能很慢)

我遇到了我还没有尝试过的MacMapKit,但由于它是基于 WebKit 的,我怀疑它会遇到与3.

是否有某种方法可以在我忽略的 Quicklook 中显示地图?

4

1 回答 1

1
  • 尝试直接在您的生成器中获取 Google 数据(无论您尝试以何种方式)是不可能的,因为您的插件主机已被沙盒化并拒绝与网络的任何连接

  • 尝试返回 HTML 数据和一些聪明的 javascript 也不起作用,因为快速查看面板也出于安全原因防止网络访问,并且没有公开的方法来解决这个问题

恐怕您找不到真正解决问题的方法,除非使用您自己的地图数据。

不过,您的用例很有趣,您应该向Apple 的错误报告网站提交错误

于 2012-07-28T22:03:32.607 回答