js 百度地图 根据经纬度获取到达目的地时间
时间: 2024-09-07 22:02:18 浏览: 65
在JavaScript中,使用百度地图API可以根据起点和终点的经纬度计算出驾车、步行或公共交通等不同的路线预计时间。首先,你需要在项目中引入百度地图API,并初始化地图实例。下面是一个简单的步骤:
1. **安装**:
如果还没有安装百度地图JS API,可以从官方网站 https://lbsyun.baidu.com/api/jsapi 下载并引入到你的项目。
2. **初始化地图**:
使用`BMap.Map`创建一个新的地图实例,设置中心点和缩放级别。
```javascript
var map = new BMap.Map("container"); // container 是HTML元素id
map.centerAndZoom(new BMap.Point(longitude, latitude), zoomLevel); // longitude 和 latitude 是经纬度坐标
```
3. **创建路线规划服务**:
使用`BMap.Driving`创建路线规划服务对象。
```javascript
var router = new BMap.Driving(map);
```
4. **获取路径及时间**:
调用`getRoute`方法,传入起点和终点经纬度以及出行方式(比如驾车`DRIVING`),然后处理返回的`routeResult`。
```javascript
router.getRoute(startPoint, endPoint, {
travelMode: BMap.TravelMode.DRIVING,
onSearchComplete: function(result) {
if (result && result.errorNo == 0) {
var route = result.routes[0];
console.log('驾车时间:', route.calculateDuration());
} else {
console.log('路线查询失败:', result.regeocode.addressComponent);
}
}
});
```
这里的`startPoint`和`endPoint`分别是经纬度对象,例如 `new BMap.Point(longitude1, latitude1)` 和 `new BMap.Point(longitude2, latitude2)`。
阅读全文