<!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根据出行方式和出现策略由起始点经纬度实现路线规划的更多相关文章

  1. 【高德地图API】从零开始学高德JS API(七)——定位方式大揭秘

    原文:[高德地图API]从零开始学高德JS API(七)——定位方式大揭秘 摘要:关于定位,分为GPS定位和网络定位2种.GPS定位,精度较高,可达到10米,但室内不可用,且超级费电.网络定位,分为w ...

  2. 【高德地图API】从零开始学高德JS API(一)地图展现——仙剑地图,麻点图,街景,室内图

    原文:[高德地图API]从零开始学高德JS API(一)地图展现——仙剑地图,麻点图,街景,室内图 摘要:关于地图的显示,我想大家最关心的就是麻点图,自定义底图的解决方案了吧.在过去,marker大于 ...

  3. 【高德地图API】从零开始学高德JS API(八)——地址解析与逆地址解析

    原文:[高德地图API]从零开始学高德JS API(八)——地址解析与逆地址解析 摘要:无论是百度LBS开放平台,还是高德LBS开放平台,其调用量最高的接口,必然是定位,其次就是地址解析了,又称为地理 ...

  4. 【高德地图API】从零开始学高德JS API(六)——坐标转换

    原文:[高德地图API]从零开始学高德JS API(六)——坐标转换 摘要:如何从GPS转到谷歌?如何从百度转到高德?这些都是小case.我们还提供,如何将基站cell_id转换为GPS坐标? --- ...

  5. 【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行

    原文:[高德地图API]从零开始学高德JS API(五)路线规划——驾车|公交|步行 先来看两个问题:路线规划与导航有什么区别?步行导航与驾车导航有什么区别? 回答: 1.路线规划,指的是为用户提供3 ...

  6. 【高德地图API】从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索

    原文:[高德地图API]从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 摘要:地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公 ...

  7. 【高德地图API】从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物

    原文:[高德地图API]从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物 摘要:覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的地图.在 ...

  8. 【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨

    原文:[高德地图API]从零开始学高德JS API(二)地图控件与插件——测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装 ...

  9. 【高德地图API】从零開始学高德JS API(五)路线规划——驾车|公交|步行

    先来看两个问题:路线规划与导航有什么差别?步行导航与驾车导航有什么差别? 回答: 1.路线规划,指的是为用户提供3条路线推荐.[高德]在提供路线规划的时候,会提供用户自己定义路线规划功能,这是别家没有 ...

随机推荐

  1. Linux中jar包指定端口启动并记录日志

    Linux中jar包指定端口启动并记录日志: java -jar -Dserver.port=38080  group-buying-0.0.1-SNAPSHOT.jar   >log.log ...

  2. asp.net连接MySQL数据库错误-Out of sync with server

    问题 网上说:http://wenda.haosou.com/q/1386389928069965 昨晚这个问题真的费了我不少时间(晚上9到凌晨2点),网上找解决方案,然后一个个尝试,没有成功.准备放 ...

  3. MySQL + KeepAlived + LVS 单点写入主主同步高可用架构实验

    分类: MySQL 架构设计 2013-05-08 01:40 5361人阅读 评论(8) 收藏 举报 mysql 高可用 keepalive ㈠ 实战环境 服务器名· IP OS MySQL odd ...

  4. 使用VisualStudio读写NI FPGA板卡实例(基于FPGA Interface C API Generator)

    实验平台说明:安装了NI LabVIEW 2015 32bit版本,安装了NI FPGA Interface C API Generator,安装了硬件PCIe-7842R:安装了Visual Stu ...

  5. 实现一个简单的lazyman

    function lazyman(name) { return new lazyman.fn.init(name); } lazyman.fn = lazyman.prototype = { cons ...

  6. Azure .Net应用架构原型

    本文介绍一种部署在azure 上.net 应用的一种常用架构对接者.这个角色可以是Api GateWay或代理或负载均衡器.目的有多方面,集中管理机器的注册和监控,安全,负载均衡,请求过滤,反向代理等 ...

  7. 异形Modbus客户端 和 异形modbus服务器之间的通讯 侦听模式的modbus-tcp客户端通讯

    前言 本文将使用一个Github公开的组件技术来实现一个异形ModBus TCP的客户端,方便的对异形Modbus tcp的服务器进行读写,这个服务器可以是电脑端C#设计的,也可以是特殊设备实现的,也 ...

  8. 用with来打开文本文件

    with open ('text.txt') as f: for line in f.readlines(): print(line) 这种方法的好处就是如果出了异常也会自动提示报错.

  9. OC中使用单例模式

    static Config * instance = nil; +(Config *) Instance { @synchronized(self) { if(nil == instance) { [ ...

  10. ios逆向工程-动态分析

    先说说为什么要分析应用吧,如果你想从一个ios应用中获取有用的信息,或者你想修改该应用的一些功能,前提当然是要先知道该app的逻辑和结构了. 动态分享工具比较少,我们先分析个简单的,全民工具Cycri ...