From 61baff2c6d976f64f34ed8f152854e3031462897 Mon Sep 17 00:00:00 2001 From: 落日与鲸 <10806022+gong-jinbao@user.noreply.gitee.com> Date: 星期二, 25 二月 2025 15:51:24 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/H5/threeSide --- H5/pages/location/location.vue | 129 ++++++++++++++++++++++++++---------------- 1 files changed, 79 insertions(+), 50 deletions(-) diff --git a/H5/pages/location/location.vue b/H5/pages/location/location.vue index c44629b..329dd65 100644 --- a/H5/pages/location/location.vue +++ b/H5/pages/location/location.vue @@ -11,7 +11,7 @@ <view class=" main"> <view class="searchMain mb-35 mt-38"> <view class="search fs-27 "> - <text class="mr-35 ml-50">成都市</text> + <text class="mr-35 ml-50">{{ city }}</text> <image class="w-17 h-8 mr-35" src="/static/location/toleft.png" mode=""></image> <image class="w-31 h-31 mr-13" src="/static/location/search.png" mode=""></image> <input class="flex1" v-model="keyword" placeholder="搜索小区/写字楼等" @@ -42,18 +42,12 @@ map: null, uid: 0, keyword: '', - markers:[], locationList: [], + city: '攀枝花市' }; }, methods: { - clearMarkers() { - // 清除所有标点 - this.markers.forEach((marker) => { - this.map.removeOverlay(marker); - }); - this.markers = []; // 清空存储标点的数组 - }, + back() { uni.navigateBack() }, @@ -108,52 +102,87 @@ }, onReady() { this.map = new BMapGL.Map("container"); // 创建地图实例 + console.log(this.map); + // uni.getLocation({ + // type: 'wgs84', + // success: (res) => { + navigator.geolocation.getCurrentPosition(success, error, options); - uni.getLocation({ - type: 'wgs84', - success: (res) => { - console.log(res, 'resgetLocation'); - this.longitude = res.longitude; - this.latitude = res.latitude; - var point = new BMapGL.Point(res.longitude, res.latitude); // 创建点坐标 - this.map.enableScrollWheelZoom(true); - this.map.centerAndZoom(point, 12); - var marker = new BMapGL.Marker(point); - this.map.addOverlay(marker); - this.markers.push(marker); - var myGeo = new BMapGL.Geocoder(); - // 根据坐标得到地址描述 - myGeo.getLocation(new BMapGL.Point(res.longitude, res.latitude), (result) => { - console.log(result, 'result'); - this.locationList = result.surroundingPois.map((item, index) => { - item.id = index + 1 - return item - }) + function success(position) { + const latitude = position.coords.latitude; + const longitude = position.coords.longitude; + const accuracy = position.coords.accuracy; // 精度,单位米 - }) - this.map.addEventListener('click', (e) => { - this.clearMarkers() - var mercator = this.map.lnglatToMercator(e.latlng.lng, e.latlng.lat); - this.latitude = e.latlng.lat - this.longitude = e.latlng.lng - var point = new BMapGL.Point(e.latlng.lng, e.latlng.lat); - this.map.centerAndZoom(point, 12); - var myGeo = new BMapGL.Geocoder(); - // 根据坐标得到地址描述 - myGeo.getLocation(new BMapGL.Point(e.latlng.lng, e.latlng.lat), (result) => { - console.log(result, 'result'); - this.locationList = result.surroundingPois.map((item, index) => { - item.id = index + 1 - return item - }) + console.log(`纬度: ${latitude}, 经度: ${longitude}, 精度: ${accuracy}`); + // 在这里可以使用获取到的经纬度信息,例如在地图上显示位置等。 + } - }) - var marker = new BMapGL.Marker(point); - this.map.addOverlay(marker); - this.markers.push(marker); - }); + function error(err) { + console.log(err); + switch (err.code) { + case err.PERMISSION_DENIED: + console.error("用户拒绝了位置请求。"); + break; + case err.POSITION_UNAVAILABLE: + console.error("无法获取位置信息。"); + break; + case err.TIMEOUT: + console.error("位置请求超时。"); + break; + default: + console.error("未知错误。"); } + } + + const options = { + enableHighAccuracy: true, // 启用高精度定位 + timeout: 5000, // 5 秒超时 + maximumAge: 0 // 不使用缓存 + }; + let res = { + longitude: 101.725544, + latitude: 26.587259 + } + this.longitude = res.longitude; + this.latitude = res.latitude; + var point = new BMapGL.Point(res.longitude, res.latitude); // 创建点坐标 + this.map.enableScrollWheelZoom(true); + this.map.centerAndZoom(point, 12); + var marker = new BMapGL.Marker(point); + this.map.addOverlay(marker); + var myGeo = new BMapGL.Geocoder(); + // 根据坐标得到地址描述 + myGeo.getLocation(new BMapGL.Point(res.longitude, res.latitude), (result) => { + this.locationList = result.surroundingPois.map((item, index) => { + item.id = index + 1 + return item + }) + + }) + this.map.addEventListener('click', (e) => { + var mercator = this.map.lnglatToMercator(e.latlng.lng, e.latlng.lat); + this.latitude = e.latlng.lat + this.longitude = e.latlng.lng + var point = new BMapGL.Point(e.latlng.lng, e.latlng.lat); + this.map.centerAndZoom(point, 12); + var myGeo = new BMapGL.Geocoder(); + // 根据坐标得到地址描述 + myGeo.getLocation(new BMapGL.Point(e.latlng.lng, e.latlng.lat), (result) => { + console.log(result, 'result'); + this.locationList = result.surroundingPois.map((item, index) => { + item.id = index + 1 + return item + }) + + }) + var marker = new BMapGL.Marker(point); + this.map.addOverlay(marker); }); + // }, + // error:err=>{ + // console.log(err,'err'); + // } + // }); } } -- Gitblit v1.7.1