腾讯地图api

// 引入SDK核心类
var QQMapWX = require('@/libs/qqmap-wx-jssdk.js');

// 实例化API核心类
var qqmapsdk = new QQMapWX({
  key: '开发密钥(key)' // 必填
});

/**
 *  地点搜索,搜索周边poi,比如:“酒店” “餐饮” “娱乐” “学校” 等等
 */
function  search(){
    return  new  Promise((resolve,reject)=>{
		// 调用接口
		 qqmapsdk.search({
		    keyword: 'kfc',  //搜索关键词
		    location: '39.980014,116.313972',  //设置周边搜索中心点
		    success: function (res) { //搜索成功后的回调
		       console.log(res,"搜索周边地址");
			   resolve(res);
		    },
		    fail: function (res) {
		      console.log(res);
			  reject(res);
		    },
		    complete: function (res){
		      console.log(res);
		    }
		});
	})
	   
}


//关键词输入提示
function  getsuggest(keyword) {
     return  new  Promise((resolve,reject)=>{
		 //调用关键词提示接口
		 qqmapsdk.getSuggestion({
		   //获取输入框值并设置keyword参数
		   keyword: keyword, //用户输入的关键词,可设置固定值,如keyword:'KFC'
		   //region:'北京', //设置城市名,限制关键词所示的地域范围,非必填参数
		   success: function(res) {//搜索成功后的回调
		     console.log(res,'触发关键词输入提示');
		       resolve(res);
		   },
		   fail: function(error) {
		     console.error(error);
			 reject(error);
		   },
		   complete: function(res) {
		     console.log(res);
		   }
		 });
		 
	 })
    
}
 
 //逆地址解析(坐标位置描述)
function   reverseGeocoder(e) {
     return  new  Promise((resolve,reject)=>{
     		 qqmapsdk.reverseGeocoder({
     		   location: e.detail.value.reverseGeo || '', //获取表单传入的位置坐标,不填默认当前位置,示例为string格式
     		   //get_poi: 1, //是否返回周边POI列表:1.返回;0不返回(默认),非必须参数
     		   success: function(res) {//成功后的回调
     		     console.log(res,'触发表单提交');
     		     resolve(res);
     		   },
     		   fail: function(error) {
     		     console.error(error);
				  reject(error);
     		   },
     		   complete: function(res) {
     		     console.log(res);
     		   }
     		 })
     		 
     })
     
 }
 
 
 //地址解析(地址转坐标)
 function     geocoder(address) {
    return  new  Promise((resolve,reject)=>{
    		 //调用地址解析接口
    		 qqmapsdk.geocoder({
    		   //获取表单传入地址
    		   address: address, //地址参数,例:固定地址,address: '北京市海淀区彩和坊路海淀西大街74号'
    		   success: function(res) {//成功后的回调
    		     console.log(res,'触发表单提交'); 
				 resolve(res);
    		   },
    		   fail: function(error) {
    		     console.error(error);
				  reject(error);
    		   },
    		   complete: function(res) {
    		     console.log(res);
    		   }
    		 })
    		 
    })
    
}

//路线规划
function  direction(start,dest) {
    return  new  Promise((resolve,reject)=>{ 
    		 //调用距离计算接口
    		 qqmapsdk.direction({
    		   mode: 'driving',//可选值:'driving'(驾车)、'walking'(步行)、'bicycling'(骑行),不填默认:'driving',可不填
    		   //from参数不填默认当前地址
    		   from: start,
    		   to: dest, 
    		   success: function (res) {
    		     console.log(res,'路线规划');
    		     resolve(res);
    		   },
    		   fail: function (error) {
    		     console.error(error);
				 reject(error);
    		   },
    		   complete: function (res) {
    		     console.log(res);
    		   }
    		 });
    })
    
  }
  
  
  //距离计算
 function calculateDistance(e){
      return  new  Promise((resolve,reject)=>{
      		 //调用距离计算接口
      		 qqmapsdk.calculateDistance({
      		     //mode: 'driving',//可选值:'driving'(驾车)、'walking'(步行),不填默认:'walking',可不填
      		     //from参数不填默认当前地址
      		     //获取表单提交的经纬度并设置from和to参数(示例为string格式)
      		     from: e.detail.value.start || '', //若起点有数据则采用起点坐标,若为空默认当前地址
      		     to: e.detail.value.dest, //终点坐标
      		     success: function(res,'距离计算') {//成功后的回调
      		       console.log(res);
      		       resolve(res);
      		     },
      		     fail: function(error) {
      		       console.error(error);
				   reject(error);
      		     },
      		     complete: function(res) {
      		       console.log(res);
      		     }
      		 });
      		 
      })
      
  }
  
  /**
   * 获取城市列表
   */
  function   getCityList(){
	  return  new  Promise((resolve,reject)=>{
	  		 qqmapsdk.getCityList({
	  		      success: function(res) {//成功后的回调
	  		        console.log(res,'获取城市列表');
	  		        console.log('省份数据:', res.result[0]); //打印省份数据
	  		        console.log('城市数据:', res.result[1]); //打印城市数据
	  		        console.log('区县数据:', res.result[2]); //打印区县数据
					resolve(res);
	  		      },
	  		      fail: function(error) {
	  		        console.error(error);
					reject(error);
	  		      },
	  		      complete: function(res) {
	  		        console.log(res);
					
	  		      }
	  		    });
	  		 
	  })
	  
  }
   //获取城市区县
    function  getDistrictByCityId(cityId){
	   return  new  Promise((resolve,reject)=>{
	   		 //调用获取城市列表接口
	   		 qqmapsdk.getDistrictByCityId({
	   		   // 传入对应省份ID获得城市数据,传入城市ID获得区县数据,依次类推
	   		   id: cityId, //对应接口getCityList返回数据的Id,如:北京是'110000'
	   		   success: function(res) {//成功后的回调
	   		     console.log(res,'获取城市区县');
	   		     resolve(res);
	   		   },
	   		   fail: function(error) {
	   		     console.error(error);
				 reject(error);
	   		   },
	   		   complete: function(res) {
	   		     console.log(res);
	   		   }
	   		 });
	   		 
	   })
	        
   }
    
module.exports={
	search,
	getsuggest,
	reverseGeocoder,
	geocoder,
	direction,
	calculateDistance,
	getCityList,
	getDistrictByCityId
}
 

jdk下载qqmap-wx-jssdk

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的美,让我痴迷

你的好,我会永远记住你的。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值