2012-07-11 40 views
1

我正在为GPS记录文件格式(.fit文件)编写Quicklook生成器插件。我猛的东西在一起,它加载的文件,并绘制使用NSGraphics/NSBezier东西路径:在Quicklook preview中显示地图

Plot of path

(对于上述can be found here可怕的代码)

这是好的,但它会要更好地显示Google地图数据或相似内容(录制的轨道覆盖相当小的距离 - 例如,上述内容覆盖了大约20公里乘10公里 - 太小而无法显示在单个地图上,因此地图需要动态地显示加载莫名其妙)

我到目前为止试过的东西:

  1. 返回显示Javascript GMap实例的HTML。由于Quicklook HTML渲染不支持Javascript(或Flash,Java等),因此不起作用
  2. 返回包含静态Google Maps图像的HTML。 Quicklook不会加载远程图像。
  3. 获取一个获取到NSGraphicsContext和显示标准WebKitView到这一点,修改from some thumbnailing code - 这个错误,因为你不能从辅助线程初始化的WebKit

随着2.(这似乎为缩略图做工精细,但不预览?)我可能会下载静态谷歌地图图像在ObjC,然后用HTML显示,但静态地图并不理想(固定大小,所以没有缩放,并可能最初加载缓慢)

我碰到了MacMapKit其中我还没有尝试过,但由于它是基于WebKit的,我怀疑它会和一样有问题

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

回答

1
  • 试图直接在发电机获得谷歌的数据(任何方式尝试这样做)为您的插件的主机沙盒是不可能的,并拒绝网络

  • 任何连接试图返回的HTML数据和一些聪明的JavaScript将无法正常工作或者作为网页预览面板还可以防止出于安全原因,网络访问,也没有工作,围绕

恐怕你不会公开的方式找到一个真正的解决你的问题时间,除了使用自己的地图数据。

尽管如此,您的使用案例很有趣,您应该向Apple's Bug Report website提交一个错误。

+0

Gah,当然 - 我忘了沙箱的东西..发现[一个非函数插件](https://github.com/kgn/QLWebloc),它试图通过各种方式将Web数据导入QL插件(ObjC网络方法,调用'curl')。哦,谢谢!我会放弃在地图上显示路径,并关注其他比例指标(具有指定间距的网格,显示整体路径距离的标签等) – dbr 2012-07-30 22:55:10