| | |
| | | fromLng === undefined || fromLng === null || |
| | | toLat === undefined || toLat === null || |
| | | toLng === undefined || toLng === null) { |
| | | return Promise.reject(new Error('参数不完整,缺少起点或终点坐标')) |
| | | return Promise.reject(new Error('参数不完整,缺少起点或终点坐标')) |
| | | } |
| | | |
| | | // 检查参数有效性 |
| | | if (isNaN(fromLat) || isNaN(fromLng) || isNaN(toLat) || isNaN(toLng)) { |
| | | return Promise.reject(new Error('参数无效,坐标格式错误')) |
| | | return Promise.reject(new Error('参数无效,坐标格式错误')) |
| | | } |
| | | |
| | | return request({ |
| | |
| | | toLng: toLng |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // ==================== 百度地图接口 ==================== |
| | | |
| | | // 百度地图地理编码API(地址转坐标) |
| | | export function baiduGeocoding(address, city) { |
| | | // 参数验证 |
| | | if (!address) { |
| | | return Promise.reject(new Error('参数不完整,缺少地址信息')) |
| | | } |
| | | |
| | | return request({ |
| | | url: '/system/gps/baidu/geocoding', |
| | | method: 'get', |
| | | params: { |
| | | address: address, |
| | | city: city |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 百度地图路线规划API(计算两个坐标之间的驾车距离) |
| | | export function baiduRouteDriving(origin, destination) { |
| | | // 参数验证 |
| | | if (!origin || !destination) { |
| | | return Promise.reject(new Error('参数不完整,缺少起点或终点坐标')) |
| | | } |
| | | |
| | | // 验证坐标格式(纬度,经度) |
| | | const originParts = origin.split(',') |
| | | const destParts = destination.split(',') |
| | | if (originParts.length !== 2 || destParts.length !== 2) { |
| | | return Promise.reject(new Error('坐标格式错误,应为:纬度,经度')) |
| | | } |
| | | |
| | | return request({ |
| | | url: '/system/gps/baidu/route/driving', |
| | | method: 'get', |
| | | params: { |
| | | origin: origin, |
| | | destination: destination |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 百度地图计算两个地址之间的距离(组合接口:地址转坐标 + 路线规划) |
| | | export function baiduDistanceByAddress(fromAddress, fromCity, toAddress, toCity) { |
| | | // 参数验证 |
| | | if (!fromAddress || !toAddress) { |
| | | return Promise.reject(new Error('参数不完整,缺少起点或终点地址')) |
| | | } |
| | | |
| | | return request({ |
| | | url: '/system/gps/baidu/distance/byAddress', |
| | | method: 'get', |
| | | params: { |
| | | fromAddress: fromAddress, |
| | | fromCity: fromCity, |
| | | toAddress: toAddress, |
| | | toCity: toCity |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 百度地图地址搜索提示API(输入联想) |
| | | export function baiduPlaceSuggestion(query, region) { |
| | | // 参数验证 |
| | | if (!query) { |
| | | return Promise.reject(new Error('参数不完整,缺少搜索关键词')) |
| | | } |
| | | |
| | | return request({ |
| | | url: '/system/gps/baidu/place/suggestion', |
| | | method: 'get', |
| | | params: { |
| | | query: query, |
| | | region: region || '广州' |
| | | } |
| | | }) |
| | | } |