2016-10-09 4 views
0

привет я новичок в картах cordova и google, у меня есть простая карта google в моем проекте cordova. мой код работает правильно в браузере, но когда я встроил apk и установил на устройство, карты Google не показывают.google maps не отображается в android, но отображается в браузере

index.html

<!DOCTYPE html> 

<html> 
    <head> 
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data gap https://*.google.com https://*.googleapis.com https://*.gstatic.com https://*.googleusercontent.com 'unsafe-inline' 'unsafe-eval'; media-src *"> 
    <meta name="format-detection" content="telephone=no"> 
    <meta name="msapplication-tap-highlight" content="no"> 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
    <link rel="stylesheet" type="text/css" href="css/index.css"> 
    <title>Hello World</title> 
    <style> 
    html, body { 
    height: 100%; 
    margin: 0; 
    padding: 0; 
    } 
    #map { 
    height: 100%; 
    } 
</style> 
</head> 
<body> 
    <div id="map">Maps</div> 
    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="js/index.js"></script> 
    <script src="https://maps.googleapis.com/maps/api/js?key=xxxxxxxxxxxxxxxxxxxx&callback=initMap" 
    async defer></script> 
</body> 

index.js

var map; 
    function initMap() { 
    map = new google.maps.Map(document.getElementById('map'), { 
     center: {lat: -34.397, lng: 150.644}, 
     zoom: 8 
    }); 
    } 

чем проблема?

+0

Вы также с помощью [PhoneGap плагин] (http://docs.phonegap.com/en/4.0.0/guide_hybrid_plugins_index.md.html)? Если да, попробуйте предлагаемые решения по этому связанному [SO post] (http://stackoverflow.com/questions/17423558/phonegap-google-maps-api-v3-not-displaying-at-all-on-android) и, пожалуйста, также проверьте это сообщение [GitHub post] (https://github.com/mapsplugin/cordova-plugin-googlemaps). Надеюсь, поможет! – Teyam

ответ

0

Попробуйте запустить его следующим образом. Тест seTimeout, может быть, вам это не понадобится. Надеюсь, это вам поможет.

function loadScript() { 
       var script = document.createElement("script"); 
       script.src = "http://maps.googleapis.com/maps/api/js?callback=initMap"; 
       document.body.appendChild(script); 
      } 
      setTimeout(function(){ loadScript() }, 1000); 
Смежные вопросы