IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> [vue]——vue3.0+高德地图的正确打开方式 -> 正文阅读

[JavaScript知识库][vue]——vue3.0+高德地图的正确打开方式

开始前,先记录一个一直困扰我的问题:

在vue中使用element-ui库中的标签时,发现修改库中标签的样式时出现样式不生效,问题就出在style设置中加了 scoped属性

  • style的scoped属性: 代表全局有效。去掉后当前style中的所有的样式就只作用于当前组件,不会对全局样式造成污染。

接下来言归正转开始我们的高德地图集成:

JSAPI结合Vue使用-JSAPI与前端框架结合-教程-地图 JS API v2.0 | 高德地图API

在使用官方提供的文档时,针对web端的一般看 Web服务API地图JS API即可

1、JSAPI Loader安装

npm i @amap/amap-jsapi-loader --save 

这里需要注意注意的是,在安装完Loader后,不需要在VUE项目中做任何配置,仅需在当前项目中创建一个单独的vue文件,用作地图组件

2、地图组建的准备

(1)在组件中导入loader

import AMapLoader from '@amap/amap-jsapi-loader';

(2)配置安全密钥

window._AMapSecurityConfig = {
    securityJsCode: '你的安全密钥'
}

(3)准备div容器

即在准备阶段所创建的指定了iddiv对象,这个div将作为承载所有图层、点标记、矢量图形、控件的容器。

<template>
    <div id="container"></div>
</tempalte>

<script></script>

<style lang="less">
    #container {
        width: 100%;
        height: 100%;
    }
</style>

(4)初始化地图

<template>
    <div id="container"></div>
</template>

<script>
import AMapLoder from '@amap/amap-jsapi-loader'
window._AMapSecurityConfig = {
    securityJsCode: '你的安全密钥'
}

export default {
    name: 'MapContainer',
    data() {
        return {
            map: null
        }
    },
    mounted() {
        this.initMap()
    },
    methods: {
        initMap() {
            AMapLoder.load({
                key: '你的key',
                version: '2.0',
                plugins: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor']
            }).then(AMap => {
                this.map = new AMap.Map("container",{  //设置地图容器id
                    viewMode:"3D",    //是否为3D地图模式
                    zoom:5,           //初始化地图级别
                    center:[105.602725,37.076636], //初始化地图中心点位置
                })
            }).catch(e=>{
                console.log(e);
            })
        },
    }
}
</script>

<style scoped lang="less">
    #container {
        width: 100%;
        height: 100%;
    }
</style>

其中,plugin中指定了在开发过程中需要使用到的插件:

plugins: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor']

3、在地图中加入多个标记

点标记(Marker)适用于用户需要在地图上创建一个标记的场景。Marker 类型推荐在数据量为 500 以内时使用。若数据量大于 500 ,推荐使用 LabelMarker,可以获得更好的性能。另外需要地图标注可以避让用户标注时,也推荐使用 LabelMarker。在使用的过程中,需要提供的是一组地址列表(经纬度格式的)

initMap() {
    AMapLoder.load({
        key: '你的key',
        version: '2.0',
        plugins: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor']
    }).then(AMap => {
        this.map = new AMap.Map("container",{  //设置地图容器id
            viewMode:"3D",    //是否为3D地图模式
            zoom:5,           //初始化地图级别
            center:[105.602725,37.076636], //初始化地图中心点位置
        })
        console.log(this.addressList)
        let iteminfo = this.addressList
        //不断的创建Marker对象,然后依次添加到地图中即可实现多点标注
        for(let index = 0; index < this.addressList.length; index++) {
            let marker = new AMap.Marker({
                title: this.factoryNameList[index],
                position: [parseFloat(iteminfo[index][0]), parseFloat(iteminfo[index][1])]
            })
            this.map.add(marker)
        }
    }).catch(e=>{
        console.log(e);
    })
},

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 18:55:53  更:2022-06-29 18:57:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:45:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码