uniapp Web ビュー アプレットは H5 に埋め込まれており、マップを開いて APP を起動します。

序文

  H5 がユニアプリ開発アプレットに埋め込まれているシナリオでは、要件は次のとおりです。
  特定の場所の緯度と経度がわかっている場合、H5 で地図を開いてその場所の位置を表示し、携帯電話で地図 APP を呼び出してナビゲーションやその他の操作を実行できます。
  このとき、uni.openLocation がナビゲーションを呼び出すとオンライン ナビゲーション リンクが開きますが、アプレットの制限により正常に開くことができません。その後、 WeChat JS-SDKの機能を通じてそれを実現することを検討できます

jweixin モジュールをインストールする

npm install jweixin-module --save

main.jsインポート

let jweixin = require('jweixin-module')
Vue.prototype.$wx = jweixin

使用例

例は参照のみを目的としており、特定の実装は独自のプロジェクトに応じて調整および最適化できます。
configインターフェースとreadyインターフェースはご自身で参照してください。

<script>
	import {
    
    configRequest} from "@/api/config.js" // 该api仅为示例
	export default {
    
    
		data() {
    
    
			return {
    
    }
		},
		onLoad() {
    
    
			this.$nextTick(()=> {
    
    
				this.openLocation()
			})
		},
		method: {
    
    
			openLocation() {
    
    
				var that = this
				var param = {
    
    
					url: location.href.split('#')[0]
				}
				// 该接口调用仅为示例,具体应以 后端 提供的接口为准
				configRequest.wxConfig(param).then(res => {
    
    
					var data = res.data
					that.$wx.config({
    
    
						debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
						appId: data.appId, // 必填,公众号的唯一标识
						timestamp: data.timestamp, // 必填,生成签名的时间戳
						nonceStr: data.nonceStr, // 必填,生成签名的随机串
						signature: data.signature, // 必填,签名
						jsApiList: ['openLocation'] // 必填,需要使用的JS接口列表
					})
					that.$wx.ready(() => {
    
    
						that.$wx.openLocation({
    
    
							// 这里的各项参数可以根据自己的需求传入
							latitude: 0, // 纬度,浮点数,范围为90 ~ -90
							longitude: 0, // 经度,浮点数,范围为180 ~ -180。
							name: '', // 位置名
							address: '', // 地址详情说明
							scale: 1, // 地图缩放级别,整型值,范围从1~28。默认为最大
							infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
						})
					})
				})
			},
		},
	}
</script>

おすすめ

転載: blog.csdn.net/qq_45580300/article/details/130157850