Javascript 如何在js中使用Bing Map API获取流量数据
我需要用Bing地图显示多伦多的交通状况。目的是显示我在网页中选择一条路线时的交通状况。结果应该是文本格式。有没有办法做到这一点 这是我到目前为止所拥有的Javascript 如何在js中使用Bing Map API获取流量数据,javascript,html,bing-maps,Javascript,Html,Bing Maps,我需要用Bing地图显示多伦多的交通状况。目的是显示我在网页中选择一条路线时的交通状况。结果应该是文本格式。有没有办法做到这一点 这是我到目前为止所拥有的 var-map=null; GetMap(43.643718,-79.388785,10); 函数GetMap(纬度、经度、缩放级别){ map=new Microsoft.Maps.map(document.getElementById(“myMap”){ 凭证:“Bing代码”, 缩放:缩放级别 }); map.setView({ 中心
var-map=null;
GetMap(43.643718,-79.388785,10);
函数GetMap(纬度、经度、缩放级别){
map=new Microsoft.Maps.map(document.getElementById(“myMap”){
凭证:“Bing代码”,
缩放:缩放级别
});
map.setView({
中心:新的Microsoft.Maps.Location(纬度、经度)
});
var pushpin=new Microsoft.Maps.pushpin(map.getCenter(){
德拉格布尔:是的
});
地图。实体。推(图钉);
//将处理程序添加到图钉拖动
Microsoft.Maps.Events.addHandler(图钉,'mouseup',DisplayLoc);
地图。实体。推(图钉);
map.setView({
缩放:10,
中心:新的Microsoft.Maps.Location(43.643718,-79.388785)
})
Microsoft.Maps.loadModule('Microsoft.Maps.Traffic'{
回调:函数(){
trafficLayer=新的Microsoft.Maps.Traffic.trafficLayer(地图);
//显示流量层
trafficLayer.show();
}
});
}
函数CallGetMap(){
var latitude=parseInt(document.getElementById('txtLatitude').value);
var-longitude=parseFloat(document.getElementById('txtLongitude').value);
var zoomLevel=parseFloat(document.getElementById('txtZoomLevel').value);
GetMap(纬度、经度、缩放级别);
}
功能显示位置(e){
如果(例如targetType=='pushpin'){
var pinLoc=e.target.getLocation();
警报(“图钉的位置现在为“+pinLoc.latitude+”,“+pinLoc.longitude”);
}
}
纬度
经度
缩放级别
以下示例工作,我只做了两个更改:
1-我已经输入了一个有效的Bing地图密钥(应用程序Url:),您可以获得一个表单
2-我在loadModule
回调和trafficManager.show()之间设置了延迟
我可以在chrome控制台中看到,对流量API的请求没有正确地发送密钥,得到401(未经授权)
作为响应
如下图所示,&key={key}
似乎不完整。我猜这是一个bug,或者初始化工作流是错误的。不管拖延多久,都能解决问题
与延迟发送的请求相比,密钥似乎是正确的
var-map=null;
GetMap(43.243718,-79.388785,11);
函数GetMap(纬度、经度、缩放级别){
map=new Microsoft.Maps.map(document.getElementById(“myMap”){
凭证:“AsI529bayR--ZJFNBPX2SL4YGSCTROVANLSGPR9TXGCRUJFBPOQWKSXYTZ9JPNS”,
缩放:缩放级别
});
map.setView({
中心:新的Microsoft.Maps.Location(纬度、经度)
});
var pushpin=new Microsoft.Maps.pushpin(map.getCenter(){
德拉格布尔:是的
});
地图。实体。推(图钉);
//将处理程序添加到图钉拖动
Microsoft.Maps.Events.addHandler(图钉,'mouseup',DisplayLoc);
地图。实体。推(图钉);
map.setView({
zoom:zoomLevel,
中心:新的Microsoft.Maps.Location(纬度、经度)
})
Microsoft.Maps.loadModule('Microsoft.Maps.Traffic'{
回调:函数(){
trafficLayer=新的Microsoft.Maps.Traffic.trafficLayer(地图);
//显示流量层
setTimeout(函数(){
trafficLayer.show();
}, 1000);
}
});
}
函数CallGetMap(){
var latitude=parseInt(document.getElementById('txtLatitude').value);
var-longitude=parseFloat(document.getElementById('txtLongitude').value);
var zoomLevel=parseFloat(document.getElementById('txtZoomLevel').value);
GetMap(纬度、经度、缩放级别);
}
功能显示位置(e){
如果(例如targetType=='pushpin'){
var pinLoc=e.target.getLocation();
警报(“图钉的位置现在为“+pinLoc.latitude+”,“+pinLoc.longitude”);
}
}
纬度
经度
缩放级别
结果应该是文本格式。您能更好地解释这个要求吗?谢谢您的帮助,比以前更快了。但是,关于数据问题,您能告诉我如何获得结果吗?您是否尝试过交通事故API?我想不出你想要什么。刚才在mapI上尝试的输出是什么,单击流量层不起任何作用。