【问题标题】:Build Phonegap App is not initializing the google mapsBuild Phonegap App 未初始化谷歌地图
【发布时间】:2017-09-23 01:15:55
【问题描述】:

规格:

  1. PhoneGap 桌面应用 v0.4.3
  2. Android v5.1.1

上面的代码在桌面应用程序中运行良好,config.xml 是由 PhoneGap 桌面应用程序创建的。 当我在 build.phonegap.com 上尝试它时,谷歌地图无法初始化,所以,android 上什么都没有出现,只是一个白屏。

这是我的 API 需要的 initMap 方法:

var map, directionsService, directionsDisplay;

function initMap() {

    directionsService = new google.maps.DirectionsService;
    directionsDisplay = new google.maps.DirectionsRenderer;

    map = new google.maps.Map(document.getElementById('gMap'), {
        zoom: 10,
        center: { lat: 25.0115052, lng: 66.7845126 },
        mapTypeId: 'roadmap',
    });

    directionsDisplay.setMap(map);


} // initMap() ends

config.xml:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.phonegap.helloworld"
    version="1.0.0"
    xmlns="http://www.w3.org/ns/widgets"
    xmlns:gap="http://phonegap.com/ns/1.0">

    <name>TestApp</name>
    <description>
        A blank PhoneGap app.
    </description>
    <author email="support@phonegap.com" href="http://phonegap.com">
        PhoneGap Team
    </author>
    <content src="index.html" />
    <access origin="*" />
</widget>

【问题讨论】:

  • 你到底遇到了什么错误?
  • @henrisycip 我认为,我应该重新解决问题(一个简单的应用程序,只显示谷歌地图而无需任何修改)。之后,我将编辑上述查询。

标签: google-maps-api-3 phonegap-build hybrid-mobile-app


【解决方案1】:

以下是制作native混合应用时必须记住的要点:

  1. 在目标设备(Android、IOS 等)中对 Web 语言(HTML、CSS、JS...)的版本支持。
  2. 加载所需的插件/库以使用本机组件。


解决方案:

您需要 cordova-plugin-whitelist 插件来访问地图,这样就可以解决您的问题:

<plugin name="cordova-plugin-whitelist" spec="1.3.2" />
<!-- Allow geo: links to open maps -->
<allow-intent href="geo:*" />

根据Cordova Docs:

默认情况下,不允许使用外部 URL。在 Android 上,这等同于发送 BROWSEABLE 类型的意图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    相关资源
    最近更新 更多