为啥我的 Google Maps API 请求在服务器上运行时不起作用

Posted

技术标签:

【中文标题】为啥我的 Google Maps API 请求在服务器上运行时不起作用【英文标题】:Why does my Google Maps API Request not work when I run it on a server为什么我的 Google Maps API 请求在服务器上运行时不起作用 【发布时间】:2017-10-18 23:55:12 【问题描述】:

我正在尝试找到一种方法来计算从一个位置到另一个位置的交通距离。我发现一个脚本可以在我的浏览器中完美运行,但是当我将它上传到我的网络服务器然后打开它时。

它不起作用。

我从 Google 获得了一个密钥,但不知道如何将其添加到脚本中。

这是实际代码

var directionsService = new google.maps.DirectionsService();

var request = 
  origin      : 'amsterdam',
  destination : 'rome',
  travelMode  : google.maps.DirectionsTravelMode.DRIVING
;

directionsService.route(request, function(response, status) 
  if ( status == google.maps.DirectionsStatus.OK ) 
    var output = response.routes[0].legs[0].distance.value;
    document.getElementById("dump").innerhtml = output;
    
  
  else 

  
);
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
<p id="dump"></p>

【问题讨论】:

【参考方案1】:

您可以在URL的查询字符串中指定Google Maps API键,在script标签的src属性中:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&key=YOUR_API_KEY"></script>

【讨论】:

以上是关于为啥我的 Google Maps API 请求在服务器上运行时不起作用的主要内容,如果未能解决你的问题,请参考以下文章

对 Google Maps API 的 AJAX 请求停止工作

为啥“Google Maps”一书中的 Google Maps Directions API 示例对我不起作用?

Google Location API vs. Maps:为啥相同的查询会产生不同的结果?

我应该采取哪些措施来保护我的Google Maps API密钥?

Google Maps Geocoding API 使用限制

Google Maps Geocoding API - 使用 API 密钥拒绝请求