在 Quicklook 预览中显示地图

问题描述 投票:0回答:1

我正在为 GPS 记录文件格式(

.fit
文件)编写一个 Quicklook 生成器插件。我将一些东西放在一起,加载文件并使用
NSGraphics
/
NSBezier
东西绘制路径:

Plot of path

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

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

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

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

使用

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

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

3.

相同的问题

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

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

  • 尝试返回 HTML 数据和一些巧妙的 JavaScript 也不起作用,因为“快速查看”面板还出于安全原因防止网络访问,并且没有公共方法可以解决此问题

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

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

© www.soinside.com 2019 - 2024. All rights reserved.