1.0.4 • Published 11 months ago

l-gaodemap v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

高德地图Vue封装

使用方法

<template>
    <lGaodemap ref="lMap" @onload="startMap" :option="option" :center="center" />
</template>
import lGaodemap from 'l-gaodemap'

export default {
    components:{
        lGaodemap
    },
    data() {
        return: {
            // 初始化中心点
            center: [],
            option: {
                key: 'xxxxxxxxx', //高德地图key
                version: '1.4.15', // 使用版本
                plugins: [         // 使用地图组件设置
                    'AMap.AMapUI',
                    'AMap.Autocomplete',
                    'AMap.MouseTool',
                    'AMap.PlaceSearch',
                    'AMap.Geocoder',
                    'AMap.IndoorMap',
                    'AMap.PolyEditor',
                    'AMap.ToolBar',
                    'AMap.addToolbar',
                    'AMap.MarkerClusterer',
                ]
            }
        }
    },
    methods: {
        // 地图加载成功后回调
        startMap(res){
            this.aMap = res
        }
    }
}

属性

属性名数据类型功能说明默认值
mapOptionObject地图初始化数据包含【zoom,pitch,center,viewMode】等属性{resizeEnable: true,zoom: 10,viewMode: "3D",pitch: 45,}
optionObject高德地图load使用数据【包含,key,version,plugins】等属性{}
centerArray初始化地图中心点坐标【优先级高于mapOption】112.980489, 25.642876

回调

属性名数据类型功能说明默认值
onload(aMap,map)key注册成功后回调(AMap,AMap.Map)

内置API

<template>
    <lGaodemap ref="lMap" @onload="startMap" :option="option" :center="center" />
</template>

setCenter(data) 跳转中心点

属性名数据类型功能说明默认值
dataArray跳转目标经纬度Number, Number或LngLat
    this.$refs.lMap.setCenter([112.980489, 25.642876])

add(res,key)添加覆盖物并渲染至地图

属性名数据类型功能说明
res(VectorOverlay或Array)添加覆盖物/图层。参数为单个覆盖物/图层,或覆盖物/图层的数组
keyString覆盖物唯一标识(重复会覆盖之前创建覆盖物)

注意:通过add方法添加的覆盖物可以通过对应的key进行管理,由getLayer()方法可以取出

    this.$refs.lMap.add(this.aMap.Marker({
        position: [],
        offset:{},
        icon: {}
    }),'markerId')

addLayer(res,key); 添加覆盖物

this.$refs.lMap.addLayer(this.aMap.Marker({
    position: [],
    offset:{},
    icon: {}
}),'markerId')
>### getLayer(key);  [获取覆盖物]
```javaScript

    this.$refs.lMap.getLayer('markerId')

getAllLayer(); 获取所有覆盖物

this.$refs.lMap.getAllLayer('markerId')
>### showSatellite();  [显示卫星图]
```javaScript

    this.$refs.lMap.showSatellite()

showDriving(res,option); 路线规划

属性名数据类型功能说明
resArraylngLat起始点坐标
optionObject配置
this.$refs.lxMap.showDriving([
            [112.914257, 26.507488],
            [112.957246, 25.33779]
        ])
>### showResource(res); [显示资源]
|属性名|数据类型|功能说明|
|:-:|:-:|:-:|
|res|Array[Object]|资源配置数组对象|
|-title|String|描述(弹窗标题)|
|-lnglat|Array[Number,Number]|坐标|
|-content|String|弹窗内容|
|-icon|String(imgSrc)|图标地址|
|-iconColor|String|图标底色|
|-option|Object|[图标配置](https://lbs.amap.com/api/javascript-api-v2/documentation#marker)|

**注意:** 所有marker都会被管理在layers中的resource中
```javaScript

this.$refs.lxMap.showResource([
                {
                    title: 'KFC',
                    icon: 'xxxxx',
                    lnglat: [116.334115,39.996483],
                    iconColor: '#ccc',
                    content: `<h>这不是肯德基</h>`,
                    option: {
                        // 可拖拽
                        draggable: true
                    }
                }
            ]).then(res=>{
                // 回调返回生成的markers(可进行拖拽回调的绑定等)
                 markers.forEach(resM => {
                    resM.on('dragend',resG=>{
                        console.log('资源拖拽', resG);
                    })
                 })
            })

showAnimation(res); 显示带路径动画

属性名数据类型功能说明
-idString对应图层id
-pathArray[lngLat,lngLat]路径经纬度数组
-lnglatArraylngLat起始坐标
-iconString图标地址
-lineOptionObject路径配置
-startLineOptionObject规划路径配置
-afterLineOptionObject经过后路径配置

let path = [ 113.040801, 25.411161, 113.144511, 25.40985, 113.174683, 25.510363, 113.064046, 25.521326, 113.040801, 25.411161, ] let index = 0 // 动画 this.$refs.lxMap.showAnimation({ id: 'xxxxx1', path: [].concat(path), lnglat: pathindex, })

>### setMarkerMove(res); [控制带路径动画行动]
|属性名|数据类型|功能说明|
|:-:|:-:|:-:|
|-id|String|被控制物id|
|-lngLat|Array[lnglat]|移动坐标|
|-speed|Number|运行速度|

```javaScript

this.$refs.lxMap.setMarkerMove({
    id: 'xxxxx1',
    lngLat: [113.144511, 25.40985],
    speed: 10000
})
1.0.4

11 months ago

1.0.2

1 year ago

1.0.3

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago