• vue + 腾讯地图


    1、首先注册腾讯地图,然后申请一个key  很快的

    2、引入腾讯地图的 js   (在index.html里引入哦~~)

    <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=你申请的key"></script>
    
    <script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>

    3、给地图 一个容器  在template 里面给哦

    <template>
        <div id="container" style="600px;height:500px;"></div>
    </template>
    
    <script>
        export default{
            name:'news',
            data() {
                return {
                    longitude:0,//经度
                    latitude:0,//纬度
                    city:''
                }
            },
            methods:{
      //第一部分
                  //定位获得当前位置信息
                getMyLocation() {
                    var geolocation = new qq.maps.Geolocation("yourkey", "yourkey名称");
                    geolocation.getIpLocation(this.showPosition, this.showErr); 
                    //geolocation.getLocation(this.showPosition, this.showErr);//或者用getLocation精确度比较高
                },
                showPosition(position) {
                    console.log(position);
                    this.latitude = position.lat;
                    this.longitude = position.lng;
                    this.city = position.city;
                    this.setMap();
                },
                showErr() {
                    console.log("定位失败");
                    this.getMyLocation();//定位失败再请求定位,测试使用
                },
      //第二部分
            //位置信息在地图上展示
                setMap() {
                    //步骤:定义map变量 调用 qq.maps.Map() 构造函数   获取地图显示容器
                    //设置地图中心点
                    var myLatlng = new qq.maps.LatLng(this.latitude,this.longitude);
                    //定义工厂模式函数
                    var myOptions = {
                      zoom: 13,               //设置地图缩放级别
                      center: myLatlng,    //设置中心点样式
                      mapTypeId: qq.maps.MapTypeId.ROADMAP  //设置地图样式详情参见MapType
                    }
                    // //获取dom元素添加地图信息
                    var map = new qq.maps.Map(document.getElementById("container"), myOptions);
           //第三部分
                  //给定位的位置添加图片标注
                    var marker = new qq.maps.Marker({
                        position: myLatlng,
                        map: map
                    });
                    //给定位的位置添加文本标注
                    var label= new qq.maps.Label({
                        position: myLatlng,
                        map: map,
                        content:'这是我当前的位置,偏差有点大,哈哈'
                    });
                }
              },
            mounted() {
                this.getMyLocation();
                }
            }
    </script>

    4、以上基本就完成了地图的一个渲染  以及 地图对于你当前的定位 。marker 是地图的标点,label 是地图的文本标注

  • 相关阅读:
    hugo搭建个人博客
    docker安装mongo
    java+vue跨域每次请求获取不同session问题
    优雅的使用JdbcTemplate
    docker布署springcloud无法使用feign通信
    xxl-job不兼容graylog解决方案
    Springboot集成graylog
    Springboot集成swagger和knife
    Springboot集成xxl-Job
    Springboot中redisTemplate乱码或json转换问题
  • 原文地址:https://www.cnblogs.com/TreeCTJ/p/13150851.html
Copyright © 2020-2023  润新知