0

我正在尝试使用距离矩阵 API 来计算两个地方之间的距离。因为这是我第一次尝试使用这个 API,所以我随便复制了我在Google 文档页面上找到的代码 并粘贴到我的页面上。但是,我看不到任何类型的输出,也不知道为什么。这是我的页面

这是来源:

<!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> 
4

1 回答 1

0

好的,所以我不知道为什么这不起作用。首先,我推荐你使用jQuery。你可以在这里找到它。

首先,将您的代码包装在一个$(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 的情况下处理文档是一场噩梦,我强烈推荐使用这个库。

于 2012-08-09T09:09:22.377 回答