Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps api 3 谷歌地图api公路与道路距离_Google Maps Api 3 - Fatal编程技术网

Google maps api 3 谷歌地图api公路与道路距离

Google maps api 3 谷歌地图api公路与道路距离,google-maps-api-3,Google Maps Api 3,我正在使用谷歌地图api计算从A点到B点的路线。 “方向结果”对象给了我很多关于距离等的信息。 然而,我有兴趣知道公路上的距离(部分)和城市道路上的距离 我该怎么做 谢谢 使用API无法区分公路和非公路 但是,您可以通过计算路线中每条腿的速度来假设差异 元代码: // find meters per second and convert to miles per hour mph = (route.leg[i].distance.value / route.leg[i].duration.va

我正在使用谷歌地图api计算从A点到B点的路线。 “方向结果”对象给了我很多关于距离等的信息。

然而,我有兴趣知道公路上的距离(部分)和城市道路上的距离

我该怎么做


谢谢

使用API无法区分公路和非公路

但是,您可以通过计算路线中每条腿的速度来假设差异

元代码:

// find meters per second and convert to miles per hour
mph = (route.leg[i].distance.value / route.leg[i].duration.value) * 2.23694
if mph >= 55
    route.leg[i].road = highway
else
    route.leg[i].road = city
显然,如果结果考虑到交通状况,这将不起作用

var infowindow=new google.maps.infowindow();
var directions=new google.maps.DirectionsService();
var renderer=new google.maps.directionsrender({
抑制多段线:对,
infoWindow:infoWindow,
});
var映射;
函数初始化(){
变量映射选项={
缩放:13,
中心:新google.maps.LatLng(40.7482333,-73.8681295),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map'),mapOptions);
google.maps.event.addDomListener(document.getElementById('go'),'click',
路线);
路线();
}
函数路径(){
var请求={
来源:document.getElementById('from')。值,
目标:document.getElementById('to')。值,
travelMode:google.maps.Directions travelMode.DRIVING
};
var panel=document.getElementById('panel');
panel.innerHTML='';
方向。路线(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
设置方向(响应);
setMap(map);
设置面板(面板);
渲染方向多段线(响应);
log(renderer.getDirections());
}否则{
renderer.setMap(null);
setPanel(null);
}
});
}
var多段线选项={
strokeColor:“#C83939”,
频闪不透明度:1,
冲程重量:4
};
var多段线=[];
函数renderDirectionsPolylines(响应){
对于(变量i=0;i=55){
//路线.支腿[i].道路=公路
color=“#FF0000”;
}否则{
//route.leg[i].道路=城市
color=“黑色”;
}
console.log(“步长”+j+”color=“+color+”mph=“+mph+”dist=“+steps[j]。distance.value+”米/时=“+steps[j]。duration.value+”秒”);
var nextSegment=steps[j]。路径;
polylineOptions.strokeColor=颜色;
var steppyline=new google.maps.Polyline(polylineOptions);
对于(k=0;k速度~=”+mph.toFixed(2)+“mph
”+evt.latLng.toUrlValue(6)); 信息窗口设置位置(电动车床); 打开(地图); } }(每小时);; } } } google.maps.event.addDomListener(窗口“加载”,初始化)
html,
身体{
身高:100%;
填充:0;
保证金:0;
颜色:黑色;
字体系列:arial,无衬线;
字体大小:13px;
}
#地图{
位置:绝对位置;
排名:0;
底部:0;
左:0;
右:50%;
}
#面板wpr{
位置:绝对位置;
排名:0;
底部:0;
左:50%;
右:0;
溢出:自动;
}
#面板{
字体系列:arial;
填充物:5px 5px;
}
#信息{
填充物:5px;
}
#从,
#到{
宽度:90%;
字体大小:1.2米;
}
.adp方向{
宽度:100%;
}
.输入{
背景色:白色;
左侧填充:8px;
边框:1px实心#D9D9D9;
边框顶部:1件纯银;
-webkit边界半径:1px;
-moz边界半径:1px;
边界半径:1px;
}
.时间{
保证金:0;
高度:17px;
边框:1px实心;
边框顶部颜色:#CCC;
右边框颜色:#999;
左边框颜色:#999;
边框底色:#CCC;
填充:2px15px 1px 1px;
}
钮扣{
边框:1px实心#3079ED;
颜色:白色;
背景色:#4D90FE;
背景图像:-webkit渐变(线性、左上、左下、从(#4D90FE)到(#4787ED));
背景图像:-webkit线性渐变(顶部,#4D90FE,#4787ED);
背景图像:-莫兹线性梯度(顶部,#4D90FE,#4787ED);
背景图像:-ms线性梯度(顶部,#4D90FE,#4787ED);
背景图像:-o-线性梯度(顶部,#4D90FE,#4787ED);
背景图像:线性梯度(顶部,#4D90FE,#4787ED);
过滤器:progid:DXImageTransform.Microsoft.gradient(startColorStr='#4d90fe',EndColorStr='#4787ed');
显示:内联块;
最小宽度:54px;
文本对齐:居中;
字体大小:粗体;
填充:0 8px;
线高:27px;
-webkit边界半径:2px;
-moz边界半径:2px;
边界半径:2px;
-webkit转换:所有0.218s;
-moz转换:所有0.218s;
-o-过渡:均为0.218s;
过渡:均为0.218s;
}
#资讯组{
线高:22px;
字体大小:110%;
}
.btn{}#小组wpr{
左边框:1px实心#e6;
}
#信息{
边框底部:1px实心#e6;
边缘底部:5px;
}
氢{
保证金:0;
填充:0;
}

发件人:
致:
问路

我想不出使用谷歌地图API服务来实现这一点的方法。有特定的地理区域吗?您可能能够与一组已知的高速公路进行匹配。例如,在美国,你可以找到高速公路的列表——快速搜索