高德地图实现昼夜、卫星图切换

news/2024/10/24 4:44:40/

简介

高德地图 JS API 是一套 JavaScript 语言开发的的地图应用编程接口,移动端、PC端一体化设计,一套 API 兼容众多系统平台。

教程

效果图

在这里插入图片描述

极夜蓝,参考
在这里插入图片描述

卫星图,参考
在这里插入图片描述

实现

  1. 新建mapAk.js文件
export const amapAk = () => {return new Promise(function (resolve, reject) {let dom = document.querySelector('#xamap')if (dom) {resolve(1)return}dom = document.createElement('script')dom.setAttribute('id', 'xamap')dom.src = '//webapi.amap.com/maps?v=1.4.10&key=' + KEYdom.onerror = rejectdom.onload = resolvedocument.head.appendChild(dom)})
}
  1. 新建index.vue文件
<template><div class="map-box"><div id="container"></div><div class="btns"><el-buttonv-for="item in btnList":key="item.value":label="item.value":type="radio === item.value ? 'primary' : ''"@click="tabType(item)">{{ item.label }}</el-button></div></div>
</template>
<script>
/* global AMap */
import { amapAk } from '@/assets/utils/mapAk'
export default {data() {return {map: null,satellite: null,roadNet: null,btnList: Object.freeze([{ label: '白天', value: 'normal' },{ label: '极夜蓝', value: 'darkblue' },{ label: '卫星', value: 'tileLayer' },]),radio: 'normal'}},mounted() {amapAk().then(() => {this.initMap()})},methods: {initMap() {const map = new AMap.Map('container', {zoom: 16,center: [121.549792, 29.868388]})// https://lbs.amap.com/api/javascript-api/reference/map-control#AMap.MapType// map.addControl(new AMap.MapType({//   defaultType: 0, //0代表默认,1代表卫星//   showRoad: true//显示路况(右上角也可点击)// }));this.map = mapthis.satellite = new AMap.TileLayer.Satellite()this.roadNet = new AMap.TileLayer.RoadNet()},tabType(item) {const { map, satellite, roadNet } = thisthis.radio = item.valueconst setMapStyle = v => {map.remove([satellite, roadNet])map.setMapStyle(`amap://styles/${v}`)}return {normal: () => setMapStyle('normal'),darkblue: () => setMapStyle('darkblue'),tileLayer: () => map.add([satellite, roadNet]),}[item.value]()}}
}
</script>
<style lang="less" scoped>
.map-box {position: relative;width: 100%;height: 100%;
}#container {width: 100%;height: 100%;min-height: 500px;
}.btns {position: absolute;top: 20px;right: 20px;padding: 20px;border-radius: 4px;background-color: #f5f5f5;box-shadow: 0 0 6px 0 #999;
}
</style>

http://www.ppmy.cn/news/659581.html

相关文章

GPS、谷歌、百度、高德坐标相互转换

GPS、谷歌、百度、高德坐标相互转换 一、在进行地图开发过程中&#xff0c;我们一般能接触到以下三种类型的地图坐标系&#xff1a; 1.WGS&#xff0d;84原始坐标系&#xff0c;一般用国际GPS纪录仪记录下来的经纬度&#xff0c;通过GPS定位拿到的原始经纬度&#xff0c;Goog…

高德地图通过经纬度获取地区城市

php curl 请求接口 /*** 模拟post进行url请求 * param string $url * param array $postData */ function https_request($url, $data null) {$curl curl_init();//初始化curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_TIMEOUT, 30);//允许 cURL 函数执…

高德地图的逆地理编码 | 将经纬度坐标转化为对应的地理位置

官网 地理/逆地理编码-API文档-开发指南-Web服务 API | 高德地图API 官方解释&#xff1a;地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口&#xff0c;提供结构化地址与经纬度之间的相互转化的能力。 通读易懂也就是将经纬度坐标转化为对应的地理位置信息…

高德地图获取手机定位以及经纬度组件

父组件代码&#xff1a; html代码 <div><get-position :position.sync"currentPosition" :place.sync"currentPlace"/> </div>import GetPosition from "../../components/GetPosition" //引入GetPosition组件 export defau…

uniapp 打包app用不了腾讯地图|高德地图

原因1:好像app只支持高德|百度地图 好像app只支持高德|百度地图的,申请一个高德地图的key就可 SHA1&#xff1a; 1.dcolud开发平台地址:开发者中心 2.查看SHA1&#xff08;点击应用名称进入&#xff09; 3.查看证书 包名: key: 原因2:配置权限及设置key 1.配置key 2.配置权…

高德地图获取可视区域内四角坐标(东北,东南,西南,西北)

高德地图获取可视区域内四角坐标&#xff08;东北&#xff0c;东南&#xff0c;西南&#xff0c;西北&#xff09; 场景&#xff1a;当需要实现查询某坐标区域内的所有共享单车&#xff0c;那么常规操作就是把所选区域内的左上和右下两点经纬度给到后端。获取方法如下&#xff…

百度经纬度与高德经纬度互转

使用不同的地图&#xff0c;在不同的地图上根据经纬度展示会有出入&#xff0c; 这边记录下 百度和高德经纬度的互转 // 将百度地图经纬度转换为腾讯/高德地图经纬度 用于大屏bMapTransQQMap(lng, lat) {let x_pi 3.14159265358979324 * 3000.0 / 180.0;let x lng - …

知道经纬度来调高德地图的官网API来获取所在的位置(逆地理编码)

第一步&#xff1a;首先要有一个key值 高德的参考 https://lbs.amap.com/api/webservice/guide/api/georegeo/?sug_index2 第二步&#xff1a;调接口 https://restapi.amap.com/v3/geocode/regeo?key"你的key值"&location经度,纬度 注&#xff1a;key值要…