Build Phonegap App没有初始化谷歌地图

时间:2017-09-23 01:15:56

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

规格:

  1. PhoneGap Desktop App v0.4.3
  2. Android v5.1.1
  3. 以上代码适用于桌面应用程序,config.xml由PhoneGap桌面应用程序创建。 当我在build.phonegap.com上试用它时,Google地图无法初始化,因此,Android上没有任何内容,只有白屏。

    这是我需要的 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>
    

1 个答案:

答案 0 :(得分:1)

以下是制作原生混合应用时需要记住的要点:

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

  3. 解决方案:

    您需要 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的意图。