如何使用ANDROID键从Android应用程序调用Google Maps Distance Matrix API

时间:2015-05-19 21:10:38

标签: android api google-maps

实际上,我们正在使用以下代码将Google Distance Matrix应用到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的key参数中,而不是android密钥,但它会针对特定的ip方向进行重新绑定。

我们想使用android密钥调用API,有人知道如何归档这个吗?

1 个答案:

答案 0 :(得分:4)

“Google Maps Distance Matrix API仅适用于服务器密钥。”(不是Android密钥) https://developers.google.com/maps/documentation/distance-matrix/get-api-key#types-of-api-keys

您还可以在Android应用中使用clientId进行身份验证,但这样做会不安全,因为您的客户端密钥可能会被盗。

因此,最好的方法是在服务器中创建一个类似于代理的端点。 Android客户端向您的服务器发出请求。您的服务器使用服务器密钥向Google API发出请求。然后将响应发送回Android应用。