根据gps坐标设置车辆行驶途经点

根据gps坐标设置车辆行驶途经点

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<title>设置驾车路线途经点</title>
</head>
<body>
<div id="allmap"></div>
    <!--ajax访问后台引用-->
<script src="../JavaScript/Global.js.aspx" type="text/javascript"></script>
    <!--百度地图api引用-->
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak="></script>
<script type="text/javascript">
        // 百度地图API功能
        var map = new BMap.Map("allmap");
        //地图中心
        map.centerAndZoom(new BMap.Point(116.3972282409668, 39.90960456049752), 11);
        // 左上角,添加比例尺
        var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});
        //左上角,添加默认缩放平移控件
        var top_left_navigation = new BMap.NavigationControl();  
        //添加控件和比例尺
        map.addControl(top_left_control);        
        map.addControl(top_left_navigation); 
        //可滚轮缩放
        map.enableScrollWheelZoom();
        //路线策略(0=默认,1=优先高速,2=避开高速,3=避开拥堵)
        var routePolicy = [BMAP_DRIVING_POLICY_DEFAULT, BMAP_DRIVING_POLICY_FIRST_HIGHWAYS, BMAP_DRIVING_POLICY_AVOID_HIGHWAYS, BMAP_DRIVING_POLICY_AVOID_CONGESTION];
        //获取经纬度
        var Code = getQueryVariable("RecCode");
        var FromCode = getQueryVariable("FromCode");
        //后台访问
        var r = NewAjaxRequest("AppointmentMaterialsService", "<Code>" + Code + "</Code><FromCode>" + FromCode + "</FromCode>", "GetWarehouse");
        if (eval(r) != null && eval(r).length >= 2)
            huoChe();
        else
            alert("到货仓库无坐标");
        //起点
        function huoChe() {
            var arrayList = [];
            var p1 = new BMap.Point(eval(r)[0].Longitude, eval(r)[0].Latitude);//起点
            var p2 = new BMap.Point(eval(r)[eval(r).length - 1].Longitude, eval(r)[eval(r).length - 1].Latitude);//终点
            drawPoint(p1, eval(r)[0].Wh_Name);
            drawPoint(p2, eval(r)[eval(r).length - 1].Wh_Name);

            for (var i = 0; i < eval(r).length; i++) {
                if (i > 0 && i < eval(r).length - 1) {
                    var a = new BMap.Point(eval(r)[i].Longitude, eval(r)[i].Latitude);
                    drawPoint(a, eval(r)[i].Wh_Name)
                    arrayList.push(a);
                }
            }
            //坐标显示
            showPolyDriving(p1, p2, arrayList)
        }
        //驾车api
        function showPolyDriving(start,end,pointList){
            var driving = new BMap.DrivingRoute( map, {
                renderOptions:{
                    map: map, 
                    autoViewport: true
                },policy: routePolicy[1]
            });
            driving.search(
                start, 
                end,
                {
                    waypoints:pointList //points表示途经点
                }
            );
        }
        // 绘制marker(起点、经点、终点),添加文本标注
        function drawPoint(point,content){
            var marker = new BMap.Marker(point);
            this.map.addOverlay(marker);
            var label = new BMap.Label(content,{
                offset:new BMap.Size(20,-10)
            });
            marker.setLabel(label);
        }
        //获取仓库编码
        function getQueryVariable(variable) {
            var query = window.location.search.substring(1);
            var vars = query.split("&");
            for (var i = 0; i < vars.length; i++) {
                var pair = vars[i].split("=");
                if (pair[0] == variable) { return pair[1]; }
            }
            return (false);
        }
    </script>
    </body>
</html>

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值