2

我正在开发一个具有多个页面的 PhoneGap 应用程序,其中一些显示地图。

现在我要做的是在页面加载时加载 Google Maps API,以便我可以在需要时访问它。现在有几种选择:

  1. 页面加载时在 URL 中加载带回调参数的脚本结果:创建了 google.maps 对象,但它几乎是空的。功能全部缺失。...(url)&callback=functionName

  2. 页面加载时在 URL 中加载带有回调参数的脚本
    结果: google.maps 中的函数都可用,但是当我创建地图时,<div style="overflow-x: hidden; overflow-y: hidden;"></div>容器元素内只有一个空。所以它似乎开始创建地图,但其余的都不见了。
    有趣的是:它在桌面浏览器中完美运行,但在 phonegap 应用程序中却不行——不管是 Android 还是 iOS。

  3. 使用回调加载脚本,但每次都应显示地图
    结果:它似乎工作,但控制台中出现错误/警告,告诉我如果我多次加载 Maps API 可能会出现意外问题. 此外,它会创建不必要的服务器请求,从而减慢应用程序的速度。

InAppBrowser在 Ripple Emulator 中运行选项 2 告诉我,当我打开一个应该显示地图的页面时,应用程序会尝试打开一个。我没有太多经验InAppBrowser,所以我不知道这试图告诉我什么,或者它是否与问题有关......

目前我正在通过一个简单的方法包含脚本

var script = document.createElement('script');
script.type ...
script.src = 'http://maps.googleapis.com/.....';
document.body.appendChild(script);

有谁知道在这种情况下如何包含和使用 API?我想传递给new google.maps.Map()构造函数的参数也不同。所以我需要一种灵活的方式来做到这一点。

感谢您的帮助
安德烈亚斯

4

0 回答 0