vue 使用腾讯地图获取坐标,亲测有效

1.先获取腾讯地图的key:https://lbs.qq.com/

2.

//先在vue的index.html里面引入腾讯地图包
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=yourkey"></script>
//.vue
<template>
    <div>
        <div id="container" style="width:600px;height:500px;"></div>
    </div>
</template>

<script>
export default{
        name:'news',
        data() {
            return {
                longitude:39.916527,//经度
                latitude:116.397128//纬度
            }
        },
        methods:{
            init() {
                //步骤:定义map变量 调用 qq.maps.Map() 构造函数   获取地图显示容器
                //设置地图中心点
                var myLatlng = new qq.maps.LatLng(this.longitude,this.latitude);
                //定义工厂模式函数
                var myOptions = {
                  zoom: 8,               //设置地图缩放级别
                  center: myLatlng,      //设置中心点样式
                  mapTypeId: qq.maps.MapTypeId.ROADMAP  //设置地图样式详情参见MapType
                }
                //获取dom元素添加地图信息
                var map = new qq.maps.Map(document.getElementById("container"), myOptions);
                //给地图添加点击事件
                //并获取鼠标点击的经纬度
                qq.maps.event.addListener(map, 'click', function(event) {
                    this.longitude = event.latLng.getLat();
                    this.latitude = event.latLng.getLng();
                    alert("经度:"+this.longitude+","+"纬度:"+this.latitude);
                });
            }
        },
        mounted() {
            this.init();
        }
    }
</script>

 2.不在入口文件(index.html)引入js,直接在初始化放入腾讯地图key(选一即可)

      //初始化地图
            init() {
              var that = this;
              maps.init("H7FBZ-WSYL6-PCQS4-ENVPQ-75MV5-2HBM3", () => {
                var myLatlng = new qq.maps.LatLng(22.547931568083015, 114.1306221485138);
                var myOptions = {
                  zoom: 16,
                  center: myLatlng,
                  mapTypeId: qq.maps.MapTypeId.ROADMAP
                };
                that.map = new qq.maps.Map(
                  document.getElementById("container"),
                  myOptions
                );
                //获取点击后的地址
                qq.maps.event.addListener(that.map, "click", function (event) {
                  // 获取点击后的地图坐标
                  that.form.lng = String(event.latLng.getLng().toFixed(6));
                  that.form.lat = String(event.latLng.getLat().toFixed(6));
                });
              });

            },

 

效果如图:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Vue使用腾讯地图,你需要先在HTML中引入腾讯地图API的JS文件,然后在Vue组件中对其进行调用。 以下是一个基本的示例,展示了如何在Vue使用腾讯地图: 1. 在HTML中引入腾讯地图API的JS文件 ```html <script type="text/javascript" src="//map.qq.com/api/js?v=2.exp&key=YOUR_KEY"></script> ``` 你需要将YOUR_KEY替换为你的腾讯地图API密钥。 2. 在Vue组件中创建一个input框和一个地图容器 ```html <template> <div> <input type="text" v-model="address" @click="showMap"> <div id="map"></div> </div> </template> ``` 3. 在Vue组件中编写相关的逻辑 ```javascript <script> export default { data() { return { address: '', map: null, marker: null } }, mounted() { // 初始化地图 this.map = new qq.maps.Map(document.getElementById("map"), { center: new qq.maps.LatLng(39.916527,116.397128), zoom: 13 }); }, methods: { showMap() { // 显示地图 let self = this; let geocoder = new qq.maps.Geocoder({ complete: function(result){ let location = result.detail.location; self.map.setCenter(location); self.marker = new qq.maps.Marker({ position: location, map: self.map }); } }); geocoder.getLocation(this.address); } } } </script> ``` 在这个示例中,当用户点击input框时,会触发showMap方法。showMap方法会根据用户输入的地址,通过腾讯地图API获取该地址的坐标,并在地图上展示该地址的位置。 当然,你需要将YOUR_KEY替换为你的腾讯地图API密钥。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值