VUE——vue-amap简单使用

一、 down一个vue webpack的模板

vue init webpack vueamap
根据提示完成模板下载,此处我的项目中选择router为yes 其他测试插件全为no  vueamap为文件夹名称

模板下载后 安装依赖
cnpm install

依赖安装完成后 执行开发环境

npm run dev

若提示在"localhost:8080"上查看效果,在浏览器上查看效果,若出现VUE效果 则模板下载成功

二、 安装vue-amap

安装vue-amap

cnpm install vue-amap --save

安装完成后,main.js文件中引入

import VueAMap from "vue-amap";
Vue.use(VueAMap);

初始化高德地图,此处需要有一个KEY,可以到高德地图平台上去申请.

初始化高德地图的key与插件

VueAMap.initAMapApiLoader({
key: "e1dedc6bdd765d46693986ff7ff969f4",
plugin: [
"AMap.Autocomplete", //输入提示插件
"AMap.PlaceSearch", //POI搜索插件
"AMap.Scale", //右下角缩略图插件 比例尺
"AMap.OverView", //地图鹰眼插件
"AMap.ToolBar", //地图工具条
"AMap.MapType", //类别切换控件,实现默认图层与卫星图、实施交通图层之间切换的控制
"AMap.PolyEditor", //编辑 折线多,边形
"AMap.CircleEditor", //圆形编辑器插件
"AMap.Geolocation" //定位控件,用来获取和展示用户主机所在的经纬度位置
],
uiVersion: "1.0"
});

三、 使用

下面开始正式运用此组件库
注:后续所用到的配置并非全面配置,若有不懂或想详细了解,
请移步vue-amap文档: vue-amap文档
文档介绍比较简单,建议到高德官方查看参考手册对照使用

高德参考手册:参考手册

1,构建地图

模板:

< div class= "amap-wrapper" >
< el-amap class= "amap-box" vid= "map"
:zoom="zoom"
:center="center" >
</ el-amap >
</ div >

data中数据:

zoom: 16,
center:[ 121.406051, 31.179695],

保存后,浏览器中运行,效果图如下:







2,添加标注点(此处以地图的center为位置点添加)

模板:
< div class= "amap-wrapper" >
< el-amap vid= "amapDemo"
:center="center"
:zoom="zoom"
class= "amap-demo" >
< el-amap-marker vid= "marker"
:position="center"
:label="label"
>
</ el-amap-marker >
</ el-amap >
</ div >
增加一条label数据,作为该点的介绍使用 ,可参照文档自行决定是否添加
label:{
content: '钦汇园',
offset:[ 10, 12]
},
保存后结果如下图 marker已经加载了


3,添加圆形区域 (此处依旧以中心点为圆心 半径为100)
注意:添加圆形区域时,要在初始化插件里初始化"AMap.CircleEditor",否则会报错

模板:
< div class= "amap-wrapper" >
< el-amap vid= "amapDemo"
:center="center"
:zoom="zoom"
class= "amap-demo" >
< el-amap-marker vid= "marker"
:position="center"
:label="label"
>
</ el-amap-marker >
< el-amap-circle vid= "circle"
:center="center"
:radius="radius"
fill-opacity= "0.2"
strokeColor= "#38f"
strokeOpacity= "0.8"
strokeWeight= "1"
fillColor= "#38f"
>
</ el-amap-circle >
</ el-amap >
</ div >
拓展:动态更改圆形区域的半径,可用于设置范围
此处我以“精度++”按钮为例,每点击一次半径加10

data数据:

radius: 100

增加事件:

addRadius(){
this.radius+= 10;
}

PS:添加其他覆盖物,如折线,图片,多边形等,用法与此类似,参照官方文档进行使用即可

效果图如下:



3,使用插件

只用插件时,一定要在前面initAMapApiLoader里面进行初始化,否则会报错

模板:

< div class= "amap-wrapper" >
< el-amap class= "amap-box" vid= "map"
:zoom="zoom"
:center="center"
:plugin="plugin" >
< el-amap-marker vid= "marker"
:position="center"
:label="label"
>
</ el-amap-marker >
< el-amap-circle vid= "circle"
:center="center"
:radius="radius"
fill-opacity= "0.2"
strokeColor= "#38f"
strokeOpacity= "0.8"
strokeWeight= "1"
fillColor= "#38f"
>
</ el-amap-circle >
</ el-amap >
</ div >

data里添加插件数据:

plugin: [
{
pName: 'ToolBar', //工具条插件
position: 'LB',
},
{
pName: 'MapType', //卫星与地图切换
defaultType: 0,
showTraffic: true, //实时交通图层
},
{
pName: 'OverView',
//isOpen:true//鹰眼是否打开
},
{
pName: 'Scale'
},
{
pName: 'Geolocation', //定位插件
showMarker: false,
events:{
init(o){
//定位成功 自动将marker和circle移到定位点
o.getCurrentPosition((status, result) => {
console.log(result);
vm.center=[result.position.lng,result.position.lat]
});
}
}
}
]

效果图如下:



全部代码如下:

< template >
< div >
< p >{{msg}} </ p >
< button @click="addRadius" >精度++ </ button >
< hr >
< div class= "amap-wrapper" >
< el-amap class= "amap-box" vid= "map"
:zoom="zoom"
:center="center"
:plugin="plugin" >
< el-amap-marker vid= "marker"
:position="center"
:label="label"
>
</ el-amap-marker >
< el-amap-circle vid= "circle"
:center="center"
:radius="radius"
fill-opacity= "0.2"
strokeColor= "#38f"
strokeOpacity= "0.8"
strokeWeight= "1"
fillColor= "#38f"
>
</ el-amap-circle >
</ el-amap >
</ div >
</ div >
</ template >
< script >
export default {
name: 'home',
data(){
let vm= this;
return{
msg: 'vue-amap demo',
zoom: 16,
center:[ 121.406051, 31.179695],
label:{
content: '钦汇园',
offset:[ 10, 12]
},
radius: 100,
plugin: [
{
pName: 'ToolBar', //工具条插件
position: 'LB',
},
{
pName: 'MapType', //卫星与地图切换
defaultType: 0,
showTraffic: true, //实时交通图层
},
{
pName: 'OverView',
//isOpen:true//鹰眼是否打开
},
{
pName: 'Scale'
},
{
pName: 'Geolocation', //定位插件
showMarker: false,
events:{
init(o){
//定位成功 自动将marker和circle移到定位点
o.getCurrentPosition((status, result) => {
console.log(result);
vm.center=[result.position.lng,result.position.lat]
});
}
}
}
]
}
},
methods:{
addRadius(){
this.radius+= 10;
}
}
}
</ script >
< style scoped >
hr{
border-color: red;
border-style: dashed;
}
.amap-wrapper{
height: 300px;
}
</ style >





  • 20
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
### 回答1: 要在Vue项目中使用vue-amap,首先需要安装vue-amap模块。可以通过npm命令来安装: ``` npm install vue-amap --save ``` 安装完成后,在Vue项目的入口文件中引入vue-amap模块,并进行初始化: ``` import VueAMap from 'vue-amap'; Vue.use(VueAMap); VueAMap.initAMapApiLoader({ // 高德的key key: 'your amap key', // 插件集合 plugin: ['AMap.Geolocation', 'AMap.MarkerClusterer'], // 高德 sdk 版本,默认为 1.4.15 v: '1.4.15', }); ``` 其中,`your amap key`需要替换成你自己的高德地图应用的key。 接下来,在组件中引入`vue-amap`的组件,并使用`amap`标签来显示地图: ``` <template> <div> <amap :zoom="zoom" :center="center"> <amap-marker :position="center"></amap-marker> </amap> </div> </template> <script> export default { data() { return { zoom: 13, center: [116.397428, 39.90923], }; }, }; </script> ``` 以上代码实现了在Vue组件中显示一个地图,并在地图上显示一个标记。具体使用方式可以参考vue-amap的文档。 ### 回答2: Vue-amap 是一个基于Vue的高德地图组件库,可以方便地在Vue项目中使用高德地图服务。 要使用vue-amap,需要按照以下步骤进行操作: 1. 首先,安装vue-amap库。可以通过npm或者yarn来进行安装。在终端中执行以下命令: ``` npm install --save vue-amap ``` 或者 ``` yarn add vue-amap ``` 2. 在Vue项目的入口文件(通常是main.js)中,引入vue-amap并注册为Vue的插件。在代码中添加以下内容: ```javascript import VueAMap from 'vue-amap'; Vue.use(VueAMap); ``` 3. 在需要使用高德地图的组件中,可以通过`VueAMap.initAMapApiLoader`方法进行配置和初始化。在代码中添加以下内容: ```javascript VueAMap.initAMapApiLoader({ key: 'your-amap-key', // 高德地图API的key // 插件集合 plugin: ['AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.Geolocation'], // 高德地图 SDK 版本,默认为 1.4.4 v: '1.4.4' }); ``` 在这里,需要将`your-amap-key`替换为你申请到的高德地图API的key。 4. 然后,就可以在组件中使用vue-amap提供的地图组件了。例如,在组件的模板中添加以下内容: ```html <vue-amap id="mapContainer" :zoom="13" :center="['116.397428', '39.90923']"> <div class="amap-marker" :position="['116.397428', '39.90923']"></div> </vue-amap> ``` 在这里,使用`vue-amap`标签来包裹地图组件,并通过`:zoom`和`:center`属性设置地图缩放级别和中心点。在`vue-amap`标签内,可以添加其他地图相关的组件。 这样,就可以在Vue项目中使用vue-amap来显示高德地图了。在实际开发中,还可以根据需要使用vue-amap提供的其他功能和API来实现更多的地图操作和交互。 ### 回答3: Vue-amap是一个基于Vue.js的高德地图组件库,提供了丰富的地图展示和操作功能。要使用vue-amap,首先需要在项目中安装它。 1. 在项目目录下打开终端,运行以下命令来安装vue-amap: ``` npm install vue-amap --save ``` 2. 在需要使用地图的组件中,引入vue-amap: ```javascript import AMap from 'vue-amap'; ``` 3. 调用Vue.use()方法并添加参数AMap: ```javascript Vue.use(AMap); ``` 4. 在项目的入口文件(main.js)中,加载高德地图的SDK: ```javascript AMap.initAMapApiLoader({ key: 'your-amap-api-key', plugin: ['AMap.Geolocation'] }); ``` 注意:replace 'your-amap-api-key'为你注册高德地图开发者账号后获得的API Key。 5. 在组件的template中,使用vue-amap提供的地图组件: ```html <template> <div> <amap-map :zoom="13" :center="[lng, lat]"> <amap-marker :position="[lng, lat]"></amap-marker> </amap-map> </div> </template> ``` 上述代码展示了一个简单的地图,包含一个标记点在指定的经纬度上。 至此,我们已经完成了vue-amap的基本配置,可以在Vue项目中使用高德地图的各种功能了。根据官方文档,还可以使用更多的组件和API来控制地图的交互、显示等,以满足具体需求。
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值