2015-05-19 49 views
0

其實我們是用我們的一個應用的谷歌距離矩陣變成一個Android Aplication使用下面的代碼:如何從Android應用程序使用調用谷歌地圖距離矩陣API Android的關鍵

String url = "https://maps.googleapis.com/maps/api/distancematrix/json?" 
      + "origins=" + start.latitude + "," + start.longitude 
      + "&destinations="  +waypoints+"&sensor=false&mode=driving&key=GOOGLE_key"; 

     HttpClient httpClient = new DefaultHttpClient(); 
     HttpContext localContext = new BasicHttpContext(); 

     HttpGet httpGet = new HttpGet(url); 


     HttpResponse response = httpClient.execute(httpGet, localContext); 

    ......... 
    ...... 
    ... 

我們必須將服務器密鑰放在API url的關鍵參數中,而不是android密鑰,但是它會針對特定的ip方向重新分配。

我們想要使用android密鑰調用API,請有人對如何歸檔這個有任何想法嗎?

+0

您可以在'google developer console'中爲您的項目創建'Android key',然後放入'android key'而不是'server key'。有關更多詳細信息,請參閱[這裏](https://developers.google.com/maps/documentation/android/start#get_an_android_api_key)。 – bjiang

回答

2

「的谷歌地圖距離矩陣API將只使用一個服務器密鑰的工作。」(未Android金鑰) https://developers.google.com/maps/documentation/distance-matrix/get-api-key#types-of-api-keys

你也可以使用的clientId在Android應用程序進行身份驗證,但是這將是不安全的,因爲你的客戶鑰匙可能被盜。

所以最好的方法是在服務器中創建一個類似於代理的端點。 Android客戶端向您的服務器發出請求。您的服務器通過服務器密鑰向Google API發送請求。然後回覆給Android應用程序。

相關問題