vue + 高德地图 + 图例

其他:
vue + 高德地图 + 普通标记点
vue + 高德地图 + 标记点(变大变小闪烁动画、多标记点、同一位置标记点显示个数)

效果图:

npm install vue-amap --save

在main.js中:

import VueAMap from 'vue-amap'
Vue.use(VueAMap)
VueAMap.initAMapApiLoader({
  key: '你的key值',
  plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor'],
  // 默认高德 sdk 版本为 1.4.4
  v: '1.4.4'
})

index.html 的中引入

<script src="//webapi.amap.com/maps?v=1.4.15&key=你的key值&&plugin=AMap.MarkerClusterer,AMap.Autocomplete,AMap.MapType,AMap.PolyEditor,AMap.MouseTool,AMap.AdvancedInfoWindow,AMap.Scale,AMap.ToolBar,AMap.RangingTool"></script>
<script src="//webapi.amap.com/ui/1.0/main.js?v=1.4.11"></script>

在webpack.base.conf.js的externals中加入AMap: ‘AMap’

externals: {
    AMap: 'AMap'
}

使用:

<template>
  <div>
    <!-- 地图 -->
    <div id="map" style="position:relative;margin:0 15px;height:700px">
      <!-- 图例 -->
      <div style="position:absolute;top:5px;left:5px;z-index:2000;background-color:#333;padding-right:10px">
        <p class="mapLegend" style="background-color:#F56C6C"/>
        <span style="color:#F56C6C">告警设备</span>
        <p class="mapLegend" style="background-color:#F0BD14"/>
        <span style="color:#F0BD14">离线设备</span>
        <p class="mapLegend" style="background-color:#1AFF00"/>
        <span style="color:#1AFF00">正常设备</span>
      </div>
    </div>
  </div>
</template>

<script>
import AMap from 'AMap'

export default {
  name: 'Home',
  data () {
    return {}
  },
  mounted () {
    this.initMap()
  },
  methods: {
    // 绘制地图
    initMap () {
      // 地图
      this.map = new AMap.Map('map', {
        resizeEnable: true,
        center: [120, 35], // 经纬度
        zoom: 12 // 远近
      })
    }
  }
}
</script>
<style scoped>
.mapLegend{
  margin:8px 0 8px 10px;
  display:inline-block;
  vertical-align:middle;
  height:12px;
  width:12px;
  border-radius:6px
}
</style>

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
您可以使用高德地图 JavaScript API 中的 AMap.Geolocation 对象来确认用户当前的位置。具体步骤如下: 1. 引入高德地图 JavaScript API: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=您的高德地图API Key"></script> ``` 2. 创建地图实例: ```javascript var map = new AMap.Map('map-container', { zoom: 13 }); ``` 3. 创建 AMap.Geolocation 实例: ```javascript var geolocation = new AMap.Geolocation({ enableHighAccuracy: true, // 是否使用高精度定位,默认为false timeout: 10000, // 超过10秒后停止定位,默认为5s maximumAge: 0, // 定位结果缓存0毫秒,默认值为0 convert: true, // 是否使用坐标转换服务,默认为true showButton: true, // 是否显示定位按钮,默认为false buttonPosition: 'RB', // 定位按钮的位置,默认为'LB',左下角 buttonOffset: new AMap.Pixel(10, 10), // 定位按钮距离地图边缘的偏移量 showMarker: true, // 是否显示定位点,默认为true markerOptions: { icon: new AMap.Icon({ size: new AMap.Size(24, 24), image: 'https://webapi.amap.com/theme/v1.3/markers/n/mark_b.png', imageSize: new AMap.Size(24, 24) }) }, // 定位点的图标样式 showCircle: true, // 是否显示定位精度圆,默认为true circleOptions: { strokeColor: '#0093FF', fillColor: '#0093FF', strokeWeight: 1, fillOpacity: 0.3 } // 定位精度圆的样式 }); ``` 4. 调用 AMap.Geolocation 的 getCurrentPosition 方法进行定位: ```javascript geolocation.getCurrentPosition(function(status, result) { if (status === 'complete') { // 定位成功 var position = result.position; // 获取定位结果的经纬度信息 map.setCenter(position); // 将地图中心移动到定位结果的位置 } else { // 定位失败 console.log('定位失败:' + result.message); } }); ``` 以上代码将会在地图中心显示当前位置的定位点,并在定位精度圆内显示精度范围。 注意:在使用高德地图 JavaScript API 进行地图开发时,需要在高德开放平台申请 API Key 并进行授权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值