zoukankan      html  css  js  c++  java
  • JavaScript引入百度地图标注点与坐标偏移问题

    在js引入百度地图时碰到了问题,就是坐标点和位置标注不在一个位置发生偏移。位置标注在地图中心,但是用经纬度定位的坐标点却跑到了地图上方

    js代码如下:

    // 创建地图实例  
    var map = new BMap.Map("allmap");
    map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
    // 创建点坐标  
    var point = new BMap.Point(121.529376,31.213313);
    // 初始化地图,设置中心点坐标和地图级别
    map.centerAndZoom(point, 16);
    var opts = {
        type: BMAP_NAVIGATION_CONTROL_LARGE
    }
    map.addControl(new BMap.NavigationControl(opts));
    var marker = new BMap.Marker(point); // 创建标注    
    map.addOverlay(marker); // 将标注添加到地图中

    问题界面如下:此时坐标点和标注不是重叠的。

    此时只有当我拖拽或缩放地图,才能够让地图重新定位准确,让坐标和标注点都在中心位置,后来百度了很多方法,添加以下代码能够解决问题

    var loadCount = 1;
    map.addEventListener("tilesloaded",function(){
        if(loadCount == 1){
         map.setCenter(point);
         }
         loadCount = loadCount + 1;
    });

    问题解决后界面如下:

    tilesloaded是检测地图块是否加载完成,当地图所有图块完成加载时触发此事件,每次拖动地图也会触发tilesloaded事件。

    暂时不知道原因 是什么,先做个记录

    参考链接:https://blog.csdn.net/eliane_/article/details/80311512#commentBox

  • 相关阅读:
    vue-cli快速搭建
    js严格模式下判断数据类型
    js实现本地的图片压缩上传预览
    web端实现图片放大切换显示预览
    swiper.js在隐藏/显示切换时,轮播出现bug的解决办法
    Zepto.js实现fadeIn,fadeOut功能
    ms
    redis 解决秒杀
    单下滑线 事务 锁
    极验
  • 原文地址:https://www.cnblogs.com/plb2307/p/10728256.html
Copyright © 2011-2022 走看看