1、看官网新手入门链接导入原生高德地图:
JS API 结合 Vue 使用-基础-进阶教程-地图 JS API 2.0|高德地图API (amap.com)
具体步骤:
第一步,安装插件
npm i @amap/amap-jsapi-loader --save
第二步,在vue组件中写代码显示地图
<template> <div class="hello"> <div id="container"></div> </div> </template> <script> import AMapLoader from "@amap/amap-jsapi-loader"; export default { name: "HelloWorld", props: { msg: String }, data() { return { map: undefined }; }, mounted() { this.initAMap(); }, methods: { initAMap() { let that = this; AMapLoader.load({ key: "d82a9a539035486ae09a991aebc24d20", // 申请好的Web端开发者Key,首次调用 load 时必填 version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 plugins: [ "AMap.Autocomplete", //输入提示插件 "AMap.PlaceSearch", //POI搜索插件 "AMap.Scale", //右下角缩略图插件 比例尺 "AMap.OverView", //地图鹰眼插件 "AMap.ToolBar", //地图工具条 "AMap.MapType", //类别切换控件,实现默认图层与卫星图、实施交通图层之间切换的控制 "AMap.PolyEditor", //编辑 折线多,边形 "AMap.CircleEditor", //圆形编辑器插件 "AMap.Geolocation", //定位控件,用来获取和展示用户主机所在的经纬度位置 "MarkerClusterer", "AMap.HeatMap", "AMap.DistrictLayer", "AMap.Heatmap", "AMap.DistrictSearch", "AMap.Object3DLayer" ] // 需要使用的的插件列表,如比例尺'AMap.Scale'等 }) .then(AMap => { const map = new AMap.Map("container", { // 设置地图容器id viewMode: "2D", // 是否为3D地图模式 zoom: 11, // 初始化地图级别 center: [116.397428, 39.90923] // 初始化地图中心点位置 }); that.map = map; }) .catch(e => { console.log(e); }); } } }; </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped> #container { width: 200px; height: 200px; border: 1px solid red; } h3 { margin: 40px 0 0; } ul { list-style-type: none; padding: 0; } li { display: inline-block; margin: 0 10px; } a { color: #42b983; } </style>
2、uniapp开发h5,使用map组件,使用高德地图:
在配置文件中配置地图为高德,(默认使用的是腾讯),然后填写key
然后在页面上写就好了:
<map id="map" :scale="scale" :polyline="polyline" :latitude="latitude" :longitude="longitude" :markers="covers" :include-points="points">
其中参数分别代表,都是动态绑定data中的值,只需要修改data中对应的值,就能在页面上看到对应的变化:
scale 设置缩放比例
polyline 设置轨迹路线
latitude,longitude 设置地图中心点的经纬度
markers 是一个数组,里面包含想要在地图上显示的坐标点
include-points 用于显示所有的坐标点在地图上可见
绑定数据示例:
covers: [{ id: 1, latitude: 30.89, longitude: 120.09, iconPath: '../../../static/icon/起点.svg', }, // { // id: 2, // latitude: 39.90, // longitude: 116.39, // iconPath: '../../../static/icon/终点.svg', // }, ], scale: 10, polyline: [], latitude: 30.89, longitude: 120.09, points: [],
显示所有的坐标点在地图上可见的方法:
mounted() { // 在mounted钩子函数中计算所有覆盖物的经纬度坐标点,并设置include-points属性 let points = this.covers.map(item => ({ latitude: item.latitude, longitude: item.longitude })); this.points = points; },