高德js API根据出行方式和出现策略由起始点经纬度实现路线规划
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>路线规划</title>
<link rel="stylesheet" href="https://cache.amap.com/lbs/static/main.css"/>
<script type="text/javascript" src="js/jquery-1.10.2.js" ></script>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.0&key=5bffad5c5d7992363d1eb9518dcc3e9d"></script>
</head>
<body>
<div id="mapContainer"></div>
<div id="panel"></div>
<script type="text/javascript">
window.onload=function(){
getRoad("Driving","最短距离模式",[103.912339,30.755537],[103.920859,30.757879]);
}; //规划不同的导航路线
function getRoad(type,way,lnglat1,lnglat2){
var map = new AMap.Map("mapContainer", {
resizeEnable: true
});
//路线规划策略
var policy=function(){
switch(type){
case "Driving": switch(way){
case "考虑实时路况" : return AMap.DrivingPolicy.REAL_TRAFFIC;break; //考虑实时路况
case "最经济模式" : return AMap.DrivingPolicy.LEAST_FEE; break; //最经济模式
case "最短距离模式" : return AMap.DrivingPolicy.LEAST_DISTANCE; break; //最短距离模式
default : return AMap.DrivingPolicy.LEAST_TIME;break; //最快捷模式
};
break;
case "Transfer": switch(way){
case "最经济模式" : return AMap.TransferPolicy.LEAST_FEE; break; //最经济模式
case "最少换乘模式" : return AMap.TransferPolicy.LEAST_TRANSFER; break; //最少换乘模式
case "最少步行模式" : return AMap.TransferPolicy.LEAST_WALK; break; //最少步行模式
case "最舒适模式" : return AMap.TransferPolicy.MOST_COMFORT; break; //最舒适模式
case "不乘地铁模式" : return AMap.TransferPolicy.NO_SUBWAY; break; //不乘地铁模式
default : return AMap.TransferPolicy.LEAST_TIME ;break; //最快捷模式
};
break;
default : break;
}
};
AMap.service(["AMap."+type], function() {
var transOptions = {
map: map,
panel:panel,
city: "成都市",
policy: policy()
};
var trans;
switch(type){
case "Driving": trans = new AMap.Driving(transOptions);break;
case "Walking": trans = new AMap.Walking(transOptions);break;
case "Riding": trans = new AMap.Riding(transOptions);break;
default: trans = new AMap.Transfer(transOptions);break;
}
//根据起、终点坐标查询公交换乘路线
trans.search(lnglat1, lnglat2, function(status, result){});
});
}
</script>
</body>
</html>
高德js API根据出行方式和出现策略由起始点经纬度实现路线规划的更多相关文章
- 【高德地图API】从零开始学高德JS API(七)——定位方式大揭秘
原文:[高德地图API]从零开始学高德JS API(七)——定位方式大揭秘 摘要:关于定位,分为GPS定位和网络定位2种.GPS定位,精度较高,可达到10米,但室内不可用,且超级费电.网络定位,分为w ...
- 【高德地图API】从零开始学高德JS API(一)地图展现——仙剑地图,麻点图,街景,室内图
原文:[高德地图API]从零开始学高德JS API(一)地图展现——仙剑地图,麻点图,街景,室内图 摘要:关于地图的显示,我想大家最关心的就是麻点图,自定义底图的解决方案了吧.在过去,marker大于 ...
- 【高德地图API】从零开始学高德JS API(八)——地址解析与逆地址解析
原文:[高德地图API]从零开始学高德JS API(八)——地址解析与逆地址解析 摘要:无论是百度LBS开放平台,还是高德LBS开放平台,其调用量最高的接口,必然是定位,其次就是地址解析了,又称为地理 ...
- 【高德地图API】从零开始学高德JS API(六)——坐标转换
原文:[高德地图API]从零开始学高德JS API(六)——坐标转换 摘要:如何从GPS转到谷歌?如何从百度转到高德?这些都是小case.我们还提供,如何将基站cell_id转换为GPS坐标? --- ...
- 【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
原文:[高德地图API]从零开始学高德JS API(五)路线规划——驾车|公交|步行 先来看两个问题:路线规划与导航有什么区别?步行导航与驾车导航有什么区别? 回答: 1.路线规划,指的是为用户提供3 ...
- 【高德地图API】从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索
原文:[高德地图API]从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 摘要:地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公 ...
- 【高德地图API】从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物
原文:[高德地图API]从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物 摘要:覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的地图.在 ...
- 【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨
原文:[高德地图API]从零开始学高德JS API(二)地图控件与插件——测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装 ...
- 【高德地图API】从零開始学高德JS API(五)路线规划——驾车|公交|步行
先来看两个问题:路线规划与导航有什么差别?步行导航与驾车导航有什么差别? 回答: 1.路线规划,指的是为用户提供3条路线推荐.[高德]在提供路线规划的时候,会提供用户自己定义路线规划功能,这是别家没有 ...
随机推荐
- C++进阶4.C++知识整理
C++知识整理(多益笔试) 20131012 前言: 还是关于笔试知识的整理,主要是面向对象的知识还有一些常见的语法知识. 1.还是C++内存管理的知识 C++中程序的内存分布如下: 栈:向下增长,可 ...
- sql杂记
Create procedure 存储过程的声明 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P 通俗简单的说:PIVOT就是行转列,UNPIVOT就是列传行 ...
- CentOS7 开通特定防火墙端口
>>> 开启端口 firewall-cmd --zone=public --add-port=/tcp --permanent 命令含义: --zone #作用域 --add-po ...
- week13《java程序设计》第13次作业总结
week13<java程序设计>第13次作业总结 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 答: 1.IP与端口:ip和域名相对应,可找 ...
- vs 添加第三方库lib的两种方法
方法一1.代码: 方法二2.配置: 首先包含头文件 #include “../DuiLib/UIlib.h” 连接器->常规-->附加库目录.即是将lib所在的目录,千万要记得,还要写一处 ...
- postgresql与Oracle:空字符串与null
空字符串:两个单引号,中间无空格等任何内容 在postgresql中,空字符串与null是不同的:而oracle中,空字符串与null等同.测试如下: postgresql中: postgres=# ...
- printf格式输出数字,位数不够前面补0,适用与输出编号
printf格式输出数字,位数不够前面补0,适用与输出编号 printf格式输出:%[flags][width][.perc][F|N|h|l]type 用到了flags中的 0 (注意是零不是欧) ...
- iOS开发-UITextView文字排版
UITextView文本排版 1.配置NSMutableParagraphStyle NSMutableParagraphStyle *MParaStyle = [[NSMutableParagrap ...
- iOS - 正则表达式判断邮箱、身份证,车牌,URL等..是否正确:
//邮箱 + (BOOL) validateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Z ...
- Xcode 8 修改项目名
很麻烦,不想修改了 有个教程,贴一下. From: 大发写字的地方 Xcode8 修改包名(含cocopods)