无感五 2017-05-27 04:05 采纳率: 50%
浏览 2178
已采纳

百度地址API 计算距离怎么改为可以直接在输入框里填写起点终点

以下是代码

  <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>

    <style type="text/css">
        body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
    </style>
<p style="height:40px;">

    <input id="pickupAddress" type="text" value="" onclick="doSearch()" /> 输入目的地:
    <input id="deliveryAddress" type="text" value="" onclick="doSearch()" /> 
</p>
    <div id="info"></div> 
    <div id="allmap"></div>

    <script type="text/javascript">
        // 百度地图API功能
        var map = new BMap.Map("allmap");
        map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
        var output = "";
       var searchComplete = function (results) 
     { if (transit.getStatus() != BMAP_STATUS_SUCCESS) { 
     return; 
     }
     var plan = results.getPlan(0); 

     output += ""; 
     output += plan.getDistance(true) + "<br>"; 
     document.getElementById('info').innerHTML = output 
     } 
        var transit = new BMap.DrivingRoute(map, {
            renderOptions: { map: map },
            onSearchComplete: searchComplete,
            onPolylinesSet: function () {

            }
        });
        function doSearch() { 
         var txtCity = document.getElementById('pickupAddress'), txtPoint = document.getElementById('deliveryAddress') 
         if (txtCity.value != ''&&txtPoint.value != '') transit.search(txtCity.value, txtPoint.value); 
         } 
    </script>

大神,现在代码改为这样,其他没问题了,就是输出时的数据,只显示最新的那个,请问一下怎么修改呢

  • 写回答

2条回答 默认 最新

  • Go 旅城通票 2017-05-27 07:45
    关注
    
    <p style="height:40px;">
        输入城市:
        输入起点: <input id="txtCity" type="text" value="上地" />
        输入目的地:<input id="txtPoint" type="text" value="西单" /><input type="button" value="查询" onclick="doSearch()" />
        <div id="allmap"></div>
        <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
    
        <script type="text/javascript">
            // 百度地图API功能
            var map = new BMap.Map("allmap");
            map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
            var output = "从上地到西单驾车需要";
            var searchComplete = function (results) {
                if (transit.getStatus() != BMAP_STATUS_SUCCESS) {
                    return;
                }
                var plan = results.getPlan(0);
                output += plan.getDuration(true) + "\n"; //获取时间
                output += "总路程为:";
                output += plan.getDistance(true) + "\n"; //获取距离
            }
            var transit = new BMap.DrivingRoute(map, {
                renderOptions: { map: map },
                onSearchComplete: searchComplete,
                onPolylinesSet: function () {
                    setTimeout(function () { alert(output) }, "1000");
                }
            });
            function doSearch() {
                var txtCity = document.getElementById('txtCity'), txtPoint = document.getElementById('txtPoint')
                if (txtCity.value == '') { alert('请输入起点!'); txtCity.focus(); return }
                if (txtPoint.value == '') { alert('请输入目的地!'); txtPoint.focus(); return }
                transit.search(txtCity.value, txtPoint.value);
            }
        </script>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接