微信H5页面跳转到腾讯地图

1.先引入JS

注意:如果是 vue 项目,在 index.html 文件中引入 js 文件。
不是 vue 项目,直接在 html 页面中引入 js 文件。
没有key的话可以去官网申请:https://lbs.qq.com/

<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=你的Key"></script>

2.封装方法

如果不是 vue 项目:

<script>
	var geocoder = new qq.maps.Geocoder();
	function getLal (address) {
		//对指定地址进行解析
		geocoder.getLocation(address);
		//设置服务请求成功的回调函数
		geocoder.setComplete((res) => {
            console.log(address + '成功回调数据',res);
		});
		//若服务请求失败,则运行以下函数
		geocoder.setError((err) => {
			console.log(address + '地址输入错误',err)
		})
	}
	getLal('广东省佛山市')
	//getLal('广东省')
</script>

如果是 vue 项目:
1.抛出封装的方法

export const commonMethods = {
    //根据地址获取经纬度
    getLal: (address,cb) => {
      var geocoder = new qq.maps.Geocoder();
      geocoder.getLocation(address);
      geocoder.setComplete(function(res) {
          cb(res)
      });
      geocoder.setError(function(err) {
          cb(err)
      });
    }
}

2.vue文件引入并使用

import {  commonMethods } from "@/utils/utils";
commonMethods.getLal('广东省佛山市',(res) => {
	console.log('res',res)
        var mapData = {
          lat: res.detail.location.lat,
          lng: res.detail.location.lng,
          organName: this.organName,
          address: this.address,
        };
        this.goMap(mapData);
})

3.跳页面

直接使用 window.open跳就行了,会根据经纬度自动定位到你查地址的那个点


    goMap(option) {
      // 打开腾讯地图
      let lat = option.lat;
      let lng = option.lng;
      let organName = option.organName;
      let address = option.address;
      var mapUrl_tx =
        "http://apis.map.qq.com/uri/v1/marker?marker=coord:" +
        lat +
        "," +
        lng +
        ";title:" +
        organName +
        ";addr:" +
        address +
        "&referer=yellowpage";
      window.open(mapUrl_tx); //打开新页面
    },
要实现微信小程序跳转腾讯地图导航功能,需要使用腾讯地图提供的URL Scheme。下面是一个示例URL: ``` https://apis.map.qq.com/uri/v1/marker?marker=coord:39.984154,116.307490;title:我的位置&referer=myapp ``` 其中,参数marker表示标注点信息,包括经纬度和标题。referer表示来源应用的名称,可以自定义。 如果需要导航功能,需要在URL中添加参数: ``` type=drive ``` 表示导航方式为驾车导航。其他导航方式的参数值为: - drive:驾车导航 - bus:公交导航 - walk:步行导航 - bike:骑行导航 可以根据需要选择合适的导航方式。 在小程序中,可以使用wx.navigateToMiniProgram打开腾讯地图小程序,并传递参数。示例代码如下: ``` wx.navigateToMiniProgram({ appId: 'wxbb8a5dcb3c3a7703', // 腾讯地图小程序appId path: 'pages/map/index', // 打开的页面路径 extraData: { type: 'drive', // 导航方式 marker: 'coord:39.984154,116.307490;title:我的位置' // 标注点信息 }, success(res) { // 打开成功 }, fail(res) { // 打开失败 } }) ``` 在腾讯地图小程序中,可以使用getApp()方法获取小程序实例,然后通过this.getOpenerEventChannel()方法获取打开该小程序的事件通道,从而获取传递的参数。示例代码如下: ``` const app = getApp() const eventChannel = app.getOpenerEventChannel() eventChannel.on('extraData', function(data) { console.log(data.type) // 导航方式 console.log(data.marker) // 标注点信息 }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值