日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

如何使用JS和百度地圖實(shí)現(xiàn)地圖行車路線規(guī)劃功能

隨著科技的不斷進(jìn)步,地圖行車路線規(guī)劃已經(jīng)成為我們?nèi)粘I钪斜夭豢缮俚墓δ苤弧6鵀榱藢?shí)現(xiàn)地圖行車路線規(guī)劃,我們能夠利用JS和百度地圖來(lái)實(shí)現(xiàn)這個(gè)功能。本文將詳細(xì)介紹如何使用JS和百度地圖實(shí)現(xiàn)地圖行車路線規(guī)劃功能,并給出具體的代碼示例。

一、準(zhǔn)備工作
在開(kāi)始編寫(xiě)代碼之前,我們需要準(zhǔn)備一些必要的工作:

    百度地圖密鑰:在百度地圖開(kāi)放平臺(tái)申請(qǐng)一個(gè)密鑰,并記下來(lái),后面會(huì)用到。

    引入百度地圖API:在HTML文件中引入百度地圖的JS文件,例如:

    <script src="http://api.map.baidu.com/api?v=2.0&ak=YOUR-KEY"></script>

    登錄后復(fù)制

    其中,YOUR-KEY需要替換為你申請(qǐng)到的密鑰。

二、創(chuàng)建地圖
首先,我們需要?jiǎng)?chuàng)建一個(gè)地圖容器,并顯示在頁(yè)面中。HTML代碼如下:

<div id="map"></div>

登錄后復(fù)制

然后,在JS中添加以下代碼來(lái)創(chuàng)建地圖:

var map = new BMap.Map("map");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);

登錄后復(fù)制

其中,”map”是地圖容器的ID,這里我們創(chuàng)建了一個(gè)默認(rèn)的地圖,并設(shè)置地圖的中心點(diǎn)和縮放級(jí)別。

三、添加行車路線規(guī)劃功能
接下來(lái),我們需要添加行車路線規(guī)劃的功能。以下是代碼示例:

// 創(chuàng)建DrivingRoute實(shí)例,使用自動(dòng)獲取用戶位置的定位
var driving = new BMap.DrivingRoute(map, {onSearchComplete: drivingComplete});
driving.setLocation("北京");

// 規(guī)劃行車路線
driving.search("北京市海淀區(qū)上地十街10號(hào)", "北京市朝陽(yáng)區(qū)東直門外大街1號(hào)");

// 定義行車路線規(guī)劃完成時(shí)的回調(diào)函數(shù)
function drivingComplete(results) {
  if (driving.getStatus() === BMAP_STATUS_SUCCESS) {
    var plan = results.getPlan(0);
    var route = plan.getRoute(0);
    var distance = route.getDistance(false) / 1000; // 單位為千米
    var duration = route.getDuration(false) / 60; // 單位為分鐘
    var steps = route.getSteps();
    var polyline = new BMap.Polyline(route.getPath());
    
    // 在地圖上顯示行車路線
    map.addOverlay(polyline);
    
    // 輸出行車路線的距離和預(yù)計(jì)時(shí)間
    console.log("距離:" + distance + "千米");
    console.log("預(yù)計(jì)時(shí)間:" + duration + "分鐘");

    // 輸出行車路線的每個(gè)步驟
    for (var i = 0; i < steps.length; i++) {
      console.log(steps[i].getDescription());
    }
  }
}

登錄后復(fù)制

以上代碼中,我們創(chuàng)建了一個(gè)DrivingRoute實(shí)例,并設(shè)置了地圖容器和回調(diào)函數(shù)。然后,我們使用search方法來(lái)規(guī)劃行車路線。當(dāng)行車路線規(guī)劃完成后,會(huì)觸發(fā)回調(diào)函數(shù),我們可以在回調(diào)函數(shù)中獲取行車路線的具體信息,并在地圖上顯示行車路線。

四、完整示例代碼
下面是一個(gè)完整的示例代碼,你可以將它復(fù)制到一個(gè)HTML文件中運(yùn)行:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>地圖行車路線規(guī)劃示例</title>
</head>
<body>
  <div id="map" style="width: 800px; height: 600px;"></div>

  <script src="http://api.map.baidu.com/api?v=2.0&ak=YOUR-KEY"></script>
  <script>
    var map = new BMap.Map("map");
    var point = new BMap.Point(116.404, 39.915);
    map.centerAndZoom(point, 15);

    var driving = new BMap.DrivingRoute(map, {onSearchComplete: drivingComplete});
    driving.setLocation("北京");
    driving.search("北京市海淀區(qū)上地十街10號(hào)", "北京市朝陽(yáng)區(qū)東直門外大街1號(hào)");

    function drivingComplete(results) {
      if (driving.getStatus() === BMAP_STATUS_SUCCESS) {
        var plan = results.getPlan(0);
        var route = plan.getRoute(0);
        var distance = route.getDistance(false) / 1000; // 單位為千米
        var duration = route.getDuration(false) / 60; // 單位為分鐘
        var steps = route.getSteps();
        var polyline = new BMap.Polyline(route.getPath());
        map.addOverlay(polyline);

        console.log("距離:" + distance + "千米");
        console.log("預(yù)計(jì)時(shí)間:" + duration + "分鐘");

        for (var i = 0; i < steps.length; i++) {
          console.log(steps[i].getDescription());
        }
      }
    }
  </script>
</body>
</html>

登錄后復(fù)制

在以上代碼中,你需要將”YOUR-KEY”替換為你自己的百度地圖密鑰。

總結(jié)
通過(guò)上述方法,我們可以輕松地使用JS和百度地圖實(shí)現(xiàn)地圖行車路線規(guī)劃功能。只需幾行代碼,便可以實(shí)現(xiàn)在地圖上顯示行車路線,并獲取行車路線的相關(guān)信息。希望這篇文章對(duì)你有所幫助!

分享到:
標(biāo)簽:功能 地圖 如何使用 行車路線 規(guī)劃
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定