{"errMsg":"request:fail abort statusCode:-1 Failed to connect to /192.168.1"}
真机测试时 报错
解决办法
就是测试的真机和电脑的wifi 不一样 切换成相同的就可以了
---------------------------------------------------------------------------------
触发按钮 传值
<template>
<!-- 位置显示信息 -->
<p class="p">经度:<input type="text" v-model="msg"></p><br>
<p class="p">纬度:<input type="text" v-model="lll"></p><br>
<!-- 显示数据变化 -->
<view :prop="msg" :change:prop="mapContainer.onChange" id="renderjs-view">{{msg}}---{{kkk}}---{{lll}}</view>
<!-- 按钮 触发 -->
<button @tap="changeMsgFn">service数据改变</button>
<button @tap="mapContainer.emitData">renderjs改变service数据</button>
<button @click="faEvent()">获取当前位置</button>
<!-- 地图 -->
<div class="mapDiv" ref="mapContainer" id="mapContainer"> </div>
</template>
<script>
import {
ref,
defineComponent
} from 'vue'
export default {
setup(props, ctx) {
// 经纬度信息
const lll = ref('')
const kkk = ref('')
// 绑定数据信息
const msg = ref('')
// service数据改变 会触发下列值的变化
// 还会触发下边 renderjs 的数据监控变化 oldvalue newvalue的变化
function changeMsgFn() {
msg.value = 'service改变了 msg 值'
kkk.value = 'service改变了 kkk 值'
lll.value = 'service改变了 lll 值'
}
// 点击 renderjs改变service数据 会改变 原有值 变成renderjs传过来的值
function acceptDataFromRenderjs(data) {
console.log('从renderjs中接收到的数据', data)
msg.value = data.content
kkk.value = data.kl
lll.value = data.cont
}
function close() {
ctx.emit('close', false)
}
const faEvent = (v) => {
console.log('asasasasa')
uni.getLocation({
type: 'wgs84',
altitude: true,
geocode: true,
cacheTimeout: '5s',
success: function(res) {
msg.value = res.longitude
lll.value = res.latitude
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
},
});
};
function closeUsPosfsspup() {
uni.showModal({
// 询问用户是否退出登录
title: '位置保存',
content: '您确认保存当前数据嘛?',
success: res => {
if (res.confirm) {
uni.showToast({
title: '保存成功',
icon: 'none',
})
} else if (res.cancel) {
console.log('用户点击取消');
}
},
});
}
return {
faEvent,
close,
kkk,
lll,
closeUsPosfsspup,
msg,
changeMsgFn,
acceptDataFromRenderjs
};
},
};
</script>
<script setup module="mapContainer" lang="renderjs">
import mapboxgl from 'mapbox-gl';
export default {
data() {
return {
cont: '我是来自renderjs的数据cont',
content: "我是来自renderjs的数据content",
kl: "我是来自renderjs的数据kl",
}
},
methods: {
// 可以通过获取当前位置 然后 触发 service 按钮 拿到当前位置的数据信息
// 接收逻辑层service层发送的数据
onChange(newValue, oldValue, ownerInstance, instance) {
// console.log('service层中的msg发生变化')
// console.log('新值newValue', newValue)
// console.log('旧值oldValue', oldValue)
console.log('------------------')
console.log("oldValue---" + oldValue)
console.log("newValue----" + newValue);
},
// 发送数据到service层
// 点击 renderjs改变service数据 会向service 传递renderjs的数据值
emitData(event, ownerInstance) {
this.$ownerInstance.callMethod('acceptDataFromRenderjs', {
content: this.content,
kl: this.kl,
cont: this.cont
})
}
},
mounted() {
const map = new mapboxgl.Map({
accessToken: 'pk.eyJ1IjoibHVrYXNQ',
container: 'mapContainer',
style: 'mapbts-v11',
center: [125.8705, 44.09],
maxBounds: [
[121.63841, 40.86416],
[131.314852, 46.301986],
],
maxZoom: 18,
minZoom: 9,
zoom: 12,
pitch: 45, //俯视角度
//bearing: -60,
antialias: false,
attributionControl: false,
});
},
}
</script>
<style>
.mapDiv {
width: 100%;
height: 40rem;
}
</style>