基于高德地图JS API实现Vue地图选点组件




<template>
  <div>
    <div id="map" style="width: 500px; height: 400px;"></div>
    <button @click="getLocation">获取位置</button>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      map: null,
      marker: null,
      position: null
    };
  },
  mounted() {
    this.initMap();
  },
  methods: {
    initMap() {
      this.map = new AMap.Map('map', {
        zoom: 15,
        center: [116.397428, 39.90923] // 初始化地图中心点
      });
      AMap.plugin(['AMap.Geolocation'], () => {
        this.geolocation = new AMap.Geolocation({
          enableHighAccuracy: true, // 是否使用高精度定位,默认:true
          timeout: 10000           // 超过10秒后停止定位,默认:5s
        });
        this.map.addControl(this.geolocation);
        this.geolocation.getCurrentPosition((status, result) => {
          if (status == 'complete') {
            this.onComplete(result);
          } else {
            this.onError(result);
          }
        });
      });
    },
    onComplete(data) {
      this.position = data.position; // 获取定位结果
      this.map.setZoomAndCenter(15, this.position); // 设置中心点和缩放级别
      this.marker = new AMap.Marker({
        map: this.map,
        position: this.position // 将标记放在定位点
      });
    },
    onError(data) {
      console.log('定位出错:', data);
    },
    getLocation() {
      if (this.position) {
        console.log('选取的位置:', this.position);
      } else {
        alert('请先定位');
      }
    }
  }
};
</script>

这段代码使用Vue框架和高德地图JS API实现了一个简单的地图选点组件。用户打开页面时,地图会加载并定位到当前位置。用户可以点击按钮获取当前选择的位置坐标。这个例子展示了如何在Vue中集成高德地图API,并处理地图的初始化、定位和标记位置等功能。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日