使用微信小程序唤起导航的常用方式

使用微信小程序唤起导航的常用方式使用微信小程序唤起导航的方式 微信小程序地图导航

大家好,欢迎来到IT知识分享网。

1.微信内置地图

可以使用小程序的wx.openLocation方法,该方法可以打开微信内置地图,并显示指定的位置坐标。如果用户手机上安装了其他地图应用,可能会出现选择使用哪个地图应用进行导航的提示。

 wx.openLocation({ latitude: 目标地点纬度, longitude: 目标地点经度, scale: 18, name: '目的地名称', address: '目的地地址' })

通过Taro.openLocation 添加中间跳转页然后唤起手机导航app 进行选择

封装效果如下 

// 需要使用唤起导航的页面 this.appStore.setPostMessage([ { position: { lat: latitude,// 经纬度数据 lng: longitude, address: '地点名称', }, }, ]); // 提供中间页 Taro.navigateTo({ url: '/subPages/callMapApp/callMapApp', });
import Taro, { Config } from '@tarojs/taro'; import React, { Component } from 'react'; import { View } from '@tarojs/components'; import { toJS } from 'mobx'; import { inject, observer } from 'mobx-react'; import StorageUtil from '@/util/StorageUtil'; import { getObjValByArray } from '@/util'; import './callMapApp.scss'; import ConstantList from '@/util/ConstantList'; @inject('appStore') @observer export default class CallMapApp extends Component { constructor(props) { super(props); this.state = {}; this.appStore = props.appStore; } componentDidShow() { // 在postMessage中获取 导航页面传递position的信息 const postPosition = getObjValByArray(this.appStore.postMessage, 'position'); if (postPosition) { Taro.openLocation({ latitude: postPosition.lat, longitude: postPosition.lng, address: postPosition.address, complete: () => { console.log('complete', inviteUserId, inviteType); this.appStore.setPostMessage(); }, }); } else { const mapAppCallbackUrl = StorageUtil.getSync('mapAppCallbackUrl', null); if (mapAppCallbackUrl) { Taro.getApp().$app.globalData.navigateToWeb(mapAppCallbackUrl, false); StorageUtil.remove('mapAppCallbackUrl'); } else { Taro.navigateBack({ delta: 0 }); } } } componentWillUnmount() { this.appStore.setPostMessage([]); } render() { return <View className='CallMapApp_box'></View>; } } 

 使用微信小程序唤起导航的常用方式使用微信小程序唤起导航的常用方式

主要重点

 Taro.openLocation({ latitude: postPosition.lat, longitude: postPosition.lng, address: postPosition.address, complete: () => { this.appStore.setPostMessage(); }, });

2. 腾讯地图插件

需要注意的是,使用第三方地图服务可能需要申请相应的密钥,并遵守其使用条款和限制。

  let plugin = requirePlugin('routePlan');           let key = 'xxxxxxxxxxxxx'; //使用在腾讯位置服务申请的key             let referer = 'app的名称'; //调用插件的app的名称             let endPoint = JSON.stringify({             //终点               name: name,   latitude: latitude,   longitude: longitude,             }); wx.navigateTo({             url: 'plugin://routePlan/index?key=' + key + '&referer=' + referer + '&endPoint=' + endPoint, });

使用微信小程序唤起导航的常用方式使用微信小程序唤起导航的常用方式

3. 腾讯地图小程序

// 腾讯地图小程序    let endPoint = JSON.stringify({               //终点       name: name,       location: {           lat: latitude,           lng: longitude,       },     });             wx.navigateToMiniProgram({               appId: 'xxxxx', //要打开的小程序 appId               path: 'pages/multiScheme/multiScheme?endLoc=' + endPoint, //打开的页面路径,如果为空则打开首页               fail: function () {                 wx.showToast({                   icon: 'none',                   title: '打开失败,请重试',                 });               },             });           }}

使用微信小程序唤起导航的常用方式使用微信小程序唤起导航的常用方式

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/150816.html

(0)
上一篇 2025-03-16 21:20
下一篇 2025-03-16 21:25

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信