2016-11-28 178 views
0

我開始與科爾多瓦和google map插件。我安裝了Java和android studio。科爾多瓦與谷歌地圖引發「更新谷歌播放服務」

此外,我下載了一個API API的谷歌API圖像,我也配置了AVD圖像。

我的問題是當我運行我的虛擬設備時,我收到「更新Google Play服務」消息。而且,正如你可以看到,地圖默認的應用程序工作正常(見截圖)

我添加了這個插件:

我的代碼如下所示:

<html> 
    <head>   
     <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;"> 
     <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> 
    </head> 
    <body> 
     <div class="app"> 
      <h1>Apache Cordova</h1> 
      <div id="deviceready" class="blink"> 
       <p class="event listening">Connecting to Device</p> 
       <p id="result" class="event received">Hi!</p> 

      </div> 
     </div> 
     <div style="width:100%;height:400px" id="map_canvas"></div> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
    </body> 
</html> 

我的javascript是follo翼:

var map; 
var app = { 

    // Application Constructor 
    initialize: function() { 
     document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); 
    }, 

    // deviceready Event Handler 
    onDeviceReady: function() { 
     this.receivedEvent('deviceready'); 

     // onSuccess Callback   
     var onSuccess = function(position) { 
      var el = document.getElementById("result"); 
      el.innerHTML = 'Latitude: ' + position.coords.latitude; 


      var div = document.getElementById("map_canvas"); 

      // Initialize the map view 
      map = plugin.google.maps.Map.getMap(div); 

      // Wait until the map is ready status. 
      map.addEventListener(plugin.google.maps.event.MAP_READY, function() { 
       var button = document.getElementById("button"); 
       //button.addEventListener("click", onBtnClicked); 
      }); 
     } 

     // onError Callback receives a PositionError object 
     function onError(error) { 
      var el = document.getElementById("result"); 
      el.innerHTML = 'code: ' + error.code + 'message: ' + error.message;    
     } 

     navigator.geolocation.getCurrentPosition(onSuccess, onError, { timeout: 30000, enableHighAccuracy: true, maximumAge: 60000 }); 
    }, 

    // Update DOM on a Received Event 
    receivedEvent: function(id) { 
     var parentElement = document.getElementById(id); 
     var listeningElement = parentElement.querySelector('.listening'); 
     var receivedElement = parentElement.querySelector('.received'); 

     listeningElement.setAttribute('style', 'display:none;'); 
     receivedElement.setAttribute('style', 'display:block;'); 

     console.log('Received Event: ' + id); 
    } 
}; 

一些截圖: SDK Manager Extras

enter image description here error

Maps

+0

複製? http://stackoverflow.com/questions/35476182/updating-google-play-services-in-emulator – 0xcaff

+0

@caffinatedmonkey不,不重複,因爲這是一個科爾多瓦項目和meaby這個問題是一個插件壞的安裝 –

回答

0

好吧,我終於得到了解決。

  1. 在機器人仿真設備:設置>應用程序>谷歌播放服務; 獲取應用程序版本。就我而言,是77年9月8日
  2. -Android SDK 文件夾 - \演員\谷歌\ m2repository \ COM \谷歌\機器人\ GMS \播放服務,地圖, 獲得最高版本iqual或小於安裝的版本。在我 情況下是9.8.0
  3. - 項目文件夾 - \平臺\機器人\ project.properties,改變 這樣:

cordova.system.library.1 = com.google .android.gms:播放服務,地圖:+ cordova.system.library.2 = com.google.android.gms:發揮服務地點:+

對於

cordova.system.library.1 = com.google.android.gms:play-services-maps:9.8.0 cordova.system.library.2 = com.google.android.gms:play-services-location :9.8.0

其中「9.8.0」是在點2中獲得的版本。

0

您可能希望嘗試根據清單中的設置爲您的應用可能支持的每個API級別創建一個AVD,如System image中建議的創建和管理虛擬設備。

Viewing and Managing Your AVDs的進一步討論還指出,如果您爲Android Emulator 24.0.x或更低版本定義了AVD,您可能還需要重新創建定義的AVD或複製它們。

這裏是創建一個AVD開始複製的步驟:

  1. Your Virtual Devices頁的AVD管理器中,右鍵單擊一個AVD並選擇複製。 或點擊菜單並選擇重複

將出現Verify Configuration頁面。

  • 點擊變化如果您需要在System ImageSelect Hardware頁改變了原有
  • 進行更改,然後單擊完成。 AVD出現在您的虛擬設備頁面中。在下面給出的相關帖子SO也可以幫助
  • 解決方案:

    相關問題