我正在使用Petrousos' Google地图'预订,并尝试在本书的网站www.mhprofessional.com上的项目0071823026下载的第17章/ HTML / Directions Service.html中运行该示例。
我不得不调整表格尺寸以使其正确显示,但不进行任何更改。我正在通过Firefox运行它。
我设置了原点和目的地并点击了“#34;显示路线"”,此时没有任何反复发生。
该事件调用以下函数:
function showDirections() {
var start = document.getElementById("origin").value;
var end = document.getElementById("destination").value;
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
printDirections(result);
}
});
}
我得到的是directionsService.route调用,但它显然没有被执行,并且状态和结果没有被定义。
我不知道如何进一步调试,无法访问API代码..
示例中调用的语法是否已过时?
我没有API密钥,但我知道没有必要,而且我已经运行了其他没有密码的示例。
答案 0 :(得分:-1)
你们旧的例子还有用吗?如果没有,那是因为你没有API密钥。超过配额后,谷歌会关闭你。我相信配额是每小时50个请求。
Google拥有最新的文档(并且有很好的文档记录)
https://developers.google.com/maps/documentation/directions/intro#Audience
另外,你能看看对象返回的内容吗?如果是这样,那通常表明报价被超越。您可以通过在链接
处设置断点来完成此操作if (status == google.maps.DirectionsStatus.OK) {
如果您使用的是Chrome,则可以通过右键单击页面并选择“检查元素”来访问调试器,然后转到源代码,找到您的代码行并单击链接号以设置断点。