【问题标题】:Google Maps Draw Route malfunction in WindowsWindows 中的 Google Maps Draw Route 故障
【发布时间】:2015-01-01 12:06:10
【问题描述】:

tldr:最近,我使用的 Google Maps JavaScript API v3 不再显示路线或标记。它在我的 Debian-box 上运行良好,但在我尝试过的任何 Windows 计算机上都不能正常运行(从 XP 到 Windows 8)。 API 最近有变化吗?我的代码有问题吗?见http://pastebin.com/ubRGPtDZ


亲爱的,

2014 年 8 月,我编写了一个 Qt 程序,该程序在某个阶段在 QWebView 中显示 Google 地图。通过 JavaScript,我能够绘制路线。

截至 12 月中旬,该程序一直运行良好。在我的 Linux-box (Debian) 上,它仍然可以正常工作,但在我尝试的每台 Windows 计算机上,都停止显示路线。谷歌地图本身显示正常,但它停止显示任何路线、任何标记......

2014 年 12 月中旬 Google 地图有什么变化吗?我检查了 changelog of Javascript Maps API v3 ,但在 2014 年 9 月之后我没有看到任何新的提及。

我应该检查其他地方吗?

或者自 12 月中旬以来,Windows 框上的 QWebView 行为是否有任何变化?这可能吗?

我仍然认为我的 JavaScript 调整不够充分,所以我也会调试该代码,但绝对让我感到困惑的是,在 Windows 计算机上一切正常超过 4 个月,在我的 Debian-Box 上仍然如此。我已经把它放在网上http://pastebin.com/ubRGPtDZ

对于任何英语不好的非母语人士,我深表歉意。

谢谢大家的建议。

维姆

【问题讨论】:

  • 参见notify list,v3.18 于 2014 年 11 月 18 日成为发布版本。不过,您使用的是experimental version,它可能随时更改。也就是说,code in your jsbin works for me (fiddle)
  • @geocodezip 非常感谢您的回复!说真的,我要指定实验版本吗?我以为我必须明确要求“v = 3.exp”。也许我通过不提及“v =”来触发实验版本?好,我将它设为“v=3”。
  • @geocodezip 还有一个问题:我注意到我的问题被否决了。我的问题不恰当吗?我可能没有充分记录自己,应该付出额外的努力。感谢您为使我走上正轨所做的努力!最良好的祝愿,维姆
  • 没关系的问题。我赞成帮助抵消仇恨。

标签: javascript qt google-maps google-maps-api-3


【解决方案1】:

找到了!这是一个非常令人沮丧的挑战,但现在解决了它感觉很棒。我花了几天时间浏览所有可能的文档,纯粹的试错,测试和怀疑我的代码甚至配置的各个方面,都失败了......但是我又浏览了 qt-project 并找到了这个@ 987654321@和Yuvalal

用lowsnr的话来说:

作为 Google 代码执行的测试的一部分,以确定 浏览器是否启用触摸,它检查用户代理 Chrome >= 5.0,因此通过将用户代理更改为类似 ‘Chrome/1.0’ 触摸界面被抑制。

显然,显示方向 (*) 也需要它。所以我封装了一个名为myWebPage 的新类,并从qWebPage 派生它:

class myWebPage : public QWebPage
{
   virtual QString userAgentForUrl(const QUrl& url) const {
      return "Chrome/1.0";
   }
};

在 qWebView 中加载HTML 之前,我使用setPage()

 ui->setupUi(this);
 ui->webView->setPage(new myWebPage());
 ui->webView->setHtml("...");

现在它就像一个魅力:-)

--

(*) 对我来说,证明问题不是我的 JavaScript,是我试图简单地加载与 Google Maps code examples 中使用的相同的 HTML 脚本。在 QWebView 中,它适用于我的 Linux 机器,但拒绝显示我尝试过的任何 Windows 编译的二进制文件的说明。不过,如果您加载到常规浏览器,代码仍然可以正常工作。

结论:谷歌地图不像QWebView那样需要。

【讨论】:

  • 感谢 @geocodezip 和 nathaniel-johnson 的想法,如果 lowsnr 或 Yuvalal 在这里:感谢您的解决方案!
猜你喜欢
  • 2012-11-26
  • 2011-11-20
  • 1970-01-01
  • 2019-03-26
  • 2016-10-05
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多