Showing
1 changed file
with
34 additions
and
5 deletions
| 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 | } | ... | ... |
-
Please register or login to post a comment