Google Distance Matrix API没有输出

时间:2012-08-09 08:56:33

标签: javascript google-maps-api-3

我正在尝试使用Distance Matrix API来计算2个位置之间的距离。 因为这是我第一次尝试使用这个API,所以我偶然复制了Google Documentation's page上找到并粘贴在我页面上的代码。 但是,我看不到任何输出,我不知道为什么。 这是my page

这是来源:

<!DOCTYPE html> 
<html> 
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

<!-- Google Api -->
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDDMkiaVfr1y0QCsx_qUsJKIBAWpkyXZrY&sensor=false">
</script>

<script type="text/javascript">
var origin1 = new google.maps.LatLng(55.930385, -3.118425);
var origin2 = "Greenwich, England";
var destinationA = "Stockholm, Sweden";
var destinationB = new google.maps.LatLng(50.087692, 14.421150);

var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
  {
    origins: [origin1, origin2],
    destinations: [destinationA, destinationB],
    travelMode: google.maps.TravelMode.DRIVING,
    avoidHighways: false,
    avoidTolls: false
  }, callback);

function callback(response, status) {
  if (status == google.maps.DistanceMatrixStatus.OK) 
  {
    var origins = response.originAddresses;
    var destinations = response.destinationAddresses;
    document.writeln(response.originAddresses[1]);    
  }

  else {
    document.writeln("error");

       }
  }  

</script>
</html> 

1 个答案:

答案 0 :(得分:0)

好的,所以我不知道为什么这不起作用。首先,我建议你使用 jQuery 。你可以找到它here.

首先,将代码包装在$(document).ready()函数中,以便在页面准备就绪时执行

$(document).ready(function() {
  // Everything in your original script block
  var origin1 = new google.maps.LatLng(55.930385, -3.118425);
  // etc etc      
});

其次,当您知道在哪里时,写入文档会更容易。制作一个用于保存您的位置数据的div

<body>
<div id="location"/>
</body>

第三,当您拥有Google的位置时,请更改div中的文字以匹配:

$("#location").text(response.originAddresses[1]);

在没有jQuery的情况下处理文档是一场噩梦,我强烈建议使用这个库。