hookehuyr

切图工具显示操作优化

1 <!-- 1 <!--
2 * @Date: 2023-05-19 14:54:27 2 * @Date: 2023-05-19 14:54:27
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-03-22 15:25:02 4 + * @LastEditTime: 2024-07-11 15:02:28
5 * @FilePath: /map-demo/src/views/tools.vue 5 * @FilePath: /map-demo/src/views/tools.vue
6 * @Description: 公众地图主体页面 6 * @Description: 公众地图主体页面
7 --> 7 -->
...@@ -13,6 +13,11 @@ ...@@ -13,6 +13,11 @@
13 <van-field v-model="filter_lat" label="纬度" placeholder="请输入纬度" /> 13 <van-field v-model="filter_lat" label="纬度" placeholder="请输入纬度" />
14 <van-button @click="handleQuery" type="primary" block size="small" style="width: 10rem;">快速定位</van-button> 14 <van-button @click="handleQuery" type="primary" block size="small" style="width: 10rem;">快速定位</van-button>
15 <van-button @click="queryLngLat" type="warning" block size="small" style="width: 10rem; margin-left: 1rem;">坐标查询</van-button> 15 <van-button @click="queryLngLat" type="warning" block size="small" style="width: 10rem; margin-left: 1rem;">坐标查询</van-button>
16 + <van-button @click="setRotation(-10)" type="default" block size="small" style="width: 10rem; margin-left: 1rem;">旋转-10</van-button>
17 + <van-button @click="setRotation(10)" type="default" block size="small" style="width: 10rem; margin-left: 1rem;">旋转+10</van-button>
18 + </div>
19 + <div v-if="log_lnglat" style="position: fixed; top: 5rem; left: 1rem; color: white;">
20 + <div style="display: flex;">点击经纬度:{{ log_lnglat }}</div>
16 </div> 21 </div>
17 <!-- <div class="nav-bar-wrapper"> 22 <!-- <div class="nav-bar-wrapper">
18 <div class="hideScrollBar nav-bar-content"> 23 <div class="hideScrollBar nav-bar-content">
...@@ -248,6 +253,11 @@ export default { ...@@ -248,6 +253,11 @@ export default {
248 open_current_location: true, 253 open_current_location: true,
249 filter_lng: '', // 经度 254 filter_lng: '', // 经度
250 filter_lat: '', // 纬度 255 filter_lat: '', // 纬度
256 + data_center: [], // 接口获取-地图中心点
257 + data_zoom: '', // 接口获取-地图默认缩放
258 + data_zooms: '', // 接口获取-地图默认缩放范围
259 + data_rotation: 0, // 接口获取-地图旋转角度
260 + log_lnglat: '', // 获取当前地址经纬度
251 } 261 }
252 }, 262 },
253 async mounted() { 263 async mounted() {
...@@ -258,6 +268,10 @@ export default { ...@@ -258,6 +268,10 @@ export default {
258 this.mapTiles = data.level; // 获取图层 268 this.mapTiles = data.level; // 获取图层
259 this.navKey = data.list[0]['id']; // 默认选中 第一个 id 269 this.navKey = data.list[0]['id']; // 默认选中 第一个 id
260 this.navList = data.list.filter(item => item.id === this.navKey)[0]['list']; // 返回默认选中项的实体信息 270 this.navList = data.list.filter(item => item.id === this.navKey)[0]['list']; // 返回默认选中项的实体信息
271 + this.data_center = data.map.center.map(item => Number(item)); // 地图中心点
272 + this.data_zoom = data.map.zoom; // 地图默认缩放
273 + this.data_rotation = data.map.rotation; // 地图旋转角度
274 + this.data_zooms = data.map.zooms.map(item => Number(item)); // 地图默认缩放范围
261 // 初始化地图 275 // 初始化地图
262 this.initMap(); 276 this.initMap();
263 // this.setMapBoundary(); 277 // this.setMapBoundary();
...@@ -321,14 +335,14 @@ export default { ...@@ -321,14 +335,14 @@ export default {
321 showLabel: true, // 是否展示地图文字和 POI 信息 335 showLabel: true, // 是否展示地图文字和 POI 信息
322 zoom: 18, // 设置地图显示的缩放级别 336 zoom: 18, // 设置地图显示的缩放级别
323 pitch: 0, // 俯仰角度,默认 0,最大值根据地图当前 zoom 级别不断增大,2D地图下无效 。 337 pitch: 0, // 俯仰角度,默认 0,最大值根据地图当前 zoom 级别不断增大,2D地图下无效 。
324 - rotation: 0, // 地图顺时针旋转角度,取值范围 [0-360] ,默认值:0 338 + rotation: this.data_rotation, // 地图顺时针旋转角度,取值范围 [0-360] ,默认值:0
325 - center: [120.587382, 31.313900], // 设置地图中心点坐标 339 + center: this.data_center, // 设置地图中心点坐标
326 // center: [120.289523,32.835938], // 设置地图中心点坐标 340 // center: [120.289523,32.835938], // 设置地图中心点坐标
327 forceVector: false, 341 forceVector: false,
328 // rotateEnable: true, 342 // rotateEnable: true,
329 layers: [ 343 layers: [
330 // new AMap.TileLayer.RoadNet(), 344 // new AMap.TileLayer.RoadNet(),
331 - new AMap.TileLayer.Satellite(), 345 + // new AMap.TileLayer.Satellite(),
332 ], 346 ],
333 features: ['bg', 'road'], // 设置地图上显示的元素种类 347 features: ['bg', 'road'], // 设置地图上显示的元素种类
334 animateEnable: false, // 地图平移过程中是否使用动画 348 animateEnable: false, // 地图平移过程中是否使用动画
...@@ -340,6 +354,16 @@ export default { ...@@ -340,6 +354,16 @@ export default {
340 this.loadMaker(this.navKey); 354 this.loadMaker(this.navKey);
341 // 地图设置旋转6度 355 // 地图设置旋转6度
342 // this.map.setRotation(6, true); 356 // this.map.setRotation(6, true);
357 + // 添加控件
358 + // AMap.plugin(['AMap.ControlBar'], () => {
359 + // this.map.addControl(new AMap.ControlBar({
360 + // position: {
361 + // right: '20px',
362 + // top: '20px'
363 + // },
364 + // showControlButton: true, // 是否显示倾斜、旋转按钮。默认为 true
365 + // }));
366 + // });
343 }, 367 },
344 setNavLayer({ id }, index) { // 选择地图图层显示 368 setNavLayer({ id }, index) { // 选择地图图层显示
345 this.isActive = index; 369 this.isActive = index;
...@@ -350,7 +374,7 @@ export default { ...@@ -350,7 +374,7 @@ export default {
350 setTimeout(() => { 374 setTimeout(() => {
351 // 地图zooms调整 375 // 地图zooms调整
352 this.map.setZoom(this.defaultZoom); 376 this.map.setZoom(this.defaultZoom);
353 - this.map.setZoomAndCenter(this.defaultZoom, this.defaultCenter); 377 + this.map.setZoomAndCenter(this.defaultZoom, this.data_center);
354 }, 100); 378 }, 100);
355 this.removeNavRoute(); 379 this.removeNavRoute();
356 }, 380 },
...@@ -930,6 +954,7 @@ export default { ...@@ -930,6 +954,7 @@ export default {
930 e.lnglat.getLat() + 954 e.lnglat.getLat() +
931 "]," 955 "],"
932 console.log(text); 956 console.log(text);
957 + this.log_lnglat = text;
933 // 点击空白处 关闭弹框 958 // 点击空白处 关闭弹框
934 this.closeInfoWindow(); 959 this.closeInfoWindow();
935 // 关闭弹出底部导航弹框 960 // 关闭弹出底部导航弹框
...@@ -1175,6 +1200,10 @@ export default { ...@@ -1175,6 +1200,10 @@ export default {
1175 }, 1200 },
1176 queryLngLat () { 1201 queryLngLat () {
1177 window.open('https://lbs.amap.com/tools/picker') 1202 window.open('https://lbs.amap.com/tools/picker')
1203 + },
1204 + setRotation (deg) {
1205 + this.data_rotation = this.data_rotation + deg;
1206 + this.map.setRotation(this.data_rotation);
1178 } 1207 }
1179 } 1208 }
1180 } 1209 }
......