微信小程序打开地图的方法

1、打开内置地图
wx.openLocation({
 	latitude: 31.230416, // 上海的纬度
  	longitude: 121.473701, // 上海的经度
  	name: '上海市', // 地点名称
  	address: '中国上海市黄浦区人民广场', // 地址的详细说明
  	scale: 18, // 缩放比例
  	success: function(res) {
	    console.log('打开地图成功');
	 },
	 fail: function(err) {
	    console.log('打开地图失败', err);
	 }
});

在地图上显示指定位置的标记点,并且支持调用内置地图进行导航;打开地图后点击右下角导航图标会弹出选项弹窗,让用户选择使用哪一个地图应用程序进行导航;

2、使用 map 组件
<view bind:tap="openLocation">打开导航</view>
<map id="map" style="display:none"/>
data: {
    mapCtx:null
  },
  onLoad(options) {
    this.data.mapCtx = wx.createMapContext('map');
  },
  openLocation(){
    this.data.mapCtx.openMapApp({
      latitude: parseFloat(this.data.latitude),
      longitude: parseFloat(this.data.longitude),
      destination: this.data.name,
      fail(error) {
        if (!/cancel/i.test(error.errMsg)) {
          wx.showToast({
            title: error.errMsg,
            icon:"none"
          })
        } else {
          console.error('打开导航失败', error.errMsg);
        }
      },
    });
  },

这个方式在真机上有效,可以直接弹出一个弹窗,选择app之后如果手机下载了则可以打开并跳转到对应app里面去;没有下载则直接跳转到下载页;

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值