当前位置: 首页 > article >正文

基于VUE3集成天地图

1.在项目中添加了天地图的JavaScript API。

<!-- 在你的index.html或者相应的模板文件中 -->
<script src="http://api.tianditu.gov.cn/api?v=4.0&tk==你的天地图key"></script>

2.创建一个Vue 3组件,并在组件中添加地图的初始化逻辑。

<template>
  <div class="tiandituMap">
    <div ref="mapContainer" class="map-container"></div>
  </div>
</template>
<script lang='ts' setup>
    const mapContainer = ref(null);
    onMounted(() => {
        initMap()
    });
    let zoom = ref(12) //层级
    let allPoints: any = []; //所有点
    const initMap = () => {
        let T = window.T; //这里T指向天地图对象
        if (T) {
            //初始化地图,创建一个新的地图实例
            //其中 `T.Map` 接收的第一个参数是在html中天地图标签的ID
            //第二个参数是天地图的参考系,我这里设置的是 `EPSG:4326`,也就是WGS84 坐标参考系。
            //map = new T.Map("mapContainer","EPSG:4326");
            const map = new T.Map(mapContainer.value);
            
            //这一步调用了天地图的setMapType方法,用来设置天地图的图层类型,我这里设置的是卫星图图层
            map.setMapType(window.TMAP_HYBRID_MAP );

            //这一步设置的是地图的初始化后的中心点坐标以及缩放级别
            //做完这一步,天地图就以及能在地图上显示出来了
            map.centerAndZoom(new T.LngLat(116.404, 39.915), zoom.value); // 设置中心点和缩放等级
            
            // //创建缩放平移控件对象(H5)
            // const control = new T.Control.Zoom();
            // // //添加缩放平移控件(H5)
            // map.addControl(control);
           
            // 监听地图点击事件
            map.addEventListener("click",function(e){
                // 获取点击位置的经纬度
                const lngLat = e.lnglat
                console.log("经度:", lngLat.lng, "纬度:", lngLat.lat);
            })
        }
    }
</script>
<style lang='less' scoped>
    .tiandituMap{
        width: 100%;
        height: 100%;
    }
    
    .map-container {
        width: 100%;
        height: 100%;
    }
</style>

http://www.kler.cn/a/417891.html

相关文章:

  • 机器学习之RLHF(人类反馈强化学习)
  • Cento7 紧急模式无法正常启动,修复home挂载问题
  • 1.1 数据结构的基本概念
  • 猫狗分类调试过程
  • javaScript数据类型存储
  • 使用zabbix监控k8s
  • 【Golang TCP应用】
  • 指针与引用错题汇总
  • upload-labs 靶场(11~21)
  • 网络安全之访问控制
  • 你的网站真的安全吗?如何防止网站被攻击?
  • 【AI】JetsonNano启动时报错:soctherm OC ALARM
  • 【ETCD】etcd中配置参数详解
  • 高级java每日一道面试题-2024年11月29日-JVM篇-常见调优工具有哪些?
  • org.apache.commons.lang3包下的StringUtils工具类的使用
  • Maven 内置绑定到底怎么回事?
  • QT 实现QStackedWidget切换页面开门动画
  • Linux如何安装git
  • pytorch 融合 fuse 学习笔记
  • Linux:进程间通信之进程池和日志
  • Ubuntu 环境下的 C/C++ 编译与调试配置
  • “移门缓冲支架:为家庭安全加码”
  • 以达梦为数据库底座时部署的微服务页面报乱码,调整兼容模式
  • 医院数据库优化:提升性能与响应时间的关键策略
  • PostgreSQL实现透视表查询
  • Android启动流程,代码分析