VUE+js高德地图2.0API两幅地图联动同步缩放

2023-11-19

<template>
  <div>
    <br>
    <div id="container"></div>
<!--    <div class="info">-->
<!--      <h4 id="text"></h4>-->
<!--      <p>当前级别:<span id="map-zoom">15</span></p>-->
<!--    </div>-->
    <div id="map" class="s1">实时地图
    </div>
    <div id="map2" class="s2">实时地图2</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      map: {},
      map2: {
        setZoomAndCenter(number, numbers) {
        }
      },
      zoom1: [],
      zoom2: [],
      logMapinfo: {},
      currentCenter1: [],
      currentCenter2: []

    }
  },
  mounted() {
    this.initAMap()
    this.initAMap2()
    console.log('00000000000000000', this.map.getZoom())
    console.log('1111111111', this.map.getCenter().toString())
    // this.map.on('zoomstart', this.mapZoomstart)
    // this.map.on('zoomchange', this.mapZoom)
    this.map.on('zoomend', this.mapZoomend)
    this.map.on('complete', this.mapCompleted)

    // this.map2.on('zoomstart', this.mapZoomstart2)
    // this.map2.on('zoomchange', this.mapZoom2)
    this.map2.on('zoomend', this.mapZoomend2)
    this.map2.on('complete', this.mapCompleted2)
  },
  created() {
    console.log('8777777777777')
  },
  methods: {
    initAMap() {
      this.map = new AMap.Map('map', {
        resizeEnable: true,
        // mapStyle: 'amap://styles/fresh',
        // zoom: this.mapData.zoom,//级别范围
        zoom: 14, // 级别范围
        center: [114.411943, 30.527378],
        // center: [113.201943, 23.158378],//地图中心点
        // center: this.center,
        // 隐藏默认楼块
        features: ['bg', 'road', 'point'],
        mapStyle: 'amap://styles/light',
        layers: [
          // 高德默认标准图层
          new AMap.TileLayer.Satellite(),
          new AMap.TileLayer.RoadNet(),
          // 楼块图层
          new AMap.Buildings({
            zooms: [16, 20],
            zIndex: 2,
            heightFactor: 2
          })
        ]
      })
    },
    initAMap2() {
      this.map2 = new AMap.Map('map2', {
        resizeEnable: true,
        // mapStyle: 'amap://styles/fresh',
        // zoom: this.mapData.zoom,//级别范围
        zoom: 14, // 级别范围
        center: [114.411943, 30.527378]
        // center: [113.201943, 23.158378],//地图中心点
        // center: this.center,
      })
    },
    mapZoomstart() {
      console.log('层级', this.map.getZoom())
      this.map2.setZoomAndCenter(this.map.getZoom(), this.map.getCenter())
      // this.map2.setZoomAndCenter(this.map.getZoom(), [120, 30])
    },
    mapZoom() {
      console.log('层级', 7777777777777777777777)
      this.map2.setZoomAndCenter(this.map.getZoom(), this.map.getCenter())
    },
    mapZoomend() {
      console.log('层级', 8888888888888888888888)
      this.map2.setZoomAndCenter(this.map.getZoom(), this.map.getCenter())
    },
    mapCompleted() {
      console.log('层级', 999)
      this.map2.setZoomAndCenter(this.map.getZoom(), this.map.getCenter())
      // map.setCenter([lng, lat]);
    },
    mapZoomstart2() {
      this.map.setZoomAndCenter(this.map2.getZoom(), this.map2.getCenter())
    },
    mapZoom2() {
      this.map.setZoomAndCenter(this.map2.getZoom(), this.map2.getCenter())
    },
    mapZoomend2() {
      this.map.setZoomAndCenter(this.map2.getZoom(), this.map2.getCenter())
    },
    mapCompleted2() {
      this.map.setZoomAndCenter(this.map2.getZoom(), this.map2.getCenter())
    }
  }

}

</script>
<style scoped>
  #map {
    /*top: 22px;*/
    margin: 5px;
    padding: 10px;
    width: 50%;
    height: 900px;
    /*width: 220px;*/
    /*height: 120px;*/
    background-color: #ffffff;
    border: 2px #3e94f9 solid;
    font-size: 14px;
    color: #000;
    position: absolute;
    border-radius: 5px;
  }
  #map2 {
    left: 50%;
    margin: 5px;
    padding: 10px;
    width: 50%;
    height: 900px;
    /*width: 220px;*/
    /*height: 120px;*/
    background-color: #ffffff;
    border: 2px #3e94f9 solid;
    font-size: 14px;
    color: #000;
    position: absolute;
    border-radius: 5px;
  }
  #info{
    color: #000;
    position: absolute;
    border-radius: 5px;
  }
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VUE+js高德地图2.0API两幅地图联动同步缩放 的相关文章

  • 通过 HTTPS 加载页面但请求不安全的 XMLHttpRequest 端点

    我有一个页面 上面有一些 D3 javascript 该页面位于 HTTPS 网站内 但证书是自签名的 当我加载页面时 我的 D3 可视化效果不显示 并且出现错误 混合内容 页面位于 https integration jsite com
  • RxJS - 我需要取消订阅吗

    如果我有这样的事情 class MyComponent constructor this interval Observbale interval 1000 const c new MyComponent const subscriptio
  • Javascript图像编辑插件

    在哪里可以找到 Javascript 或 jQuery 图像编辑器插件 用户可以单击图像进行编辑 并且该插件允许他们进行裁剪 调整大小 旋转 翻转等 Pixastic http pixastic com lib 不再活跃 和CamanJS
  • 如何限制 Chrome 中的最大文本区域宽度和高度或如何禁用文本区域调整大小

    Chrome 允许通过在右下角添加文本区域来调整文本区域的大小 但有时这种移动可能会破坏页面的设计 所以我想知道如何限制该操作的最大和最小宽度 即如何完全禁用该功能和thml javascript css在页面上 您可以使用 resize
  • 在 ES5 中创建自定义元素 v1,而不是 ES6

    现在 如果您严格遵循自定义元素规范 v1 https html spec whatwg org multipage custom elements html custom elements 无法在不支持类的浏览器中使用自定义元素 有没有办法
  • 在 JavaScript 中计算不包括周末和节假日的天数

    我正在尝试编写一个代码 其中将计算总天数 不包括周末和自定义假期 我通过 stackoverflow 和 adobe 论坛进行搜索以找到解决方案 并提供了以下代码 如果公共假期恰逢工作日 周六至周三 则不计算在内 我的问题是 如果公共假期落
  • 应该使用encodeURI吗?

    javascript 的encodeURI 函数有任何有效用途吗 据我所知 当您尝试发出 HTTP 请求时 您应该 完整的 URI 您想要放入 URI 中的某些片段 可以是 unicode 字符串或 UTF 8 字节序列 在第一种情况下 显
  • 如何从左向右滑动文本和图像并具有滑动效果[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Jquery:排除元素

    我有以下代码 document ready function a rel each function this qtip content text img class middle src i icon processing gif alt
  • linkedin js 如何是有效的 javascript

    LinkedIn Javascript 集成是通过以下方式完成的 我不明白 这怎么是一个有效的javascript 为什么 api key 没有被引用 脚本标签的主体带有src永远不会被执行 但是 加载的脚本可以像访问任何其他元素的内容一样
  • 如何使用 javascript 将我的域名字母大写?

    假设我的域名是www hello com 如何使用 jQuery JavaScript 使浏览器的 URL 栏看起来像 www HELLO com 您无法更改浏览器地址栏中显示的内容 这是一项基本的安全功能 您可以使您的域名全部大写 并将页
  • 如何将值从孩子的孩子传递给父母?

    我有一个父组件 有一个子组件 它也有一个子组件 Parent Child One child of parent Child Two child of child 当在子二中定义一个值时 我使用回调将该值传递给子一 但我也想将相同的值传递回
  • Python 中的 Firebase 身份验证时出现 KeyError:“databaseURL”

    相信你做得很好 我是 firebase 的新手 正在尝试进行用户身份验证 我已经安装了pyrebase4并在firebase控制台上创建了一个项目 我还启用了使用 电子邮件和密码 登录并尝试连接我的应用程序 下面是我正在尝试的代码 impo
  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 从数组创建树并将父字段的表示形式更改为对象而不是 ID

    我堆满了琐碎的问题 但找不到解决方案 任何帮助将不胜感激 我有一个对象数组 id 1 title home parent null id 2 title about parent null id 3 title team parent 2
  • 鼠标输入时反应显示按钮

    我有一个反应组件 它包含如下方法 mouseEnter console log this is mouse enter render var album list const albums this props if albums user
  • 使用 NodeJS 创建 YouTube 播放列表

    我正在尝试使用 NodeJS 服务器创建 YouTube 播放列表 我已按照 Oauth 的 NodeJS 快速入门说明进行操作 如以下链接所示 https github com youtube api samples blob maste
  • 如何在 getStaticPaths 内添加 params 值数组

    我有一个页面 其结构如下 read slug number 我想要得到slug每个对应的值number in the getStaticPaths这是代码 export async function getStaticPaths const
  • JS - 如何将图像对象变成灰度并显示它

    基本上 当单击按钮时 它会告诉移动设备转到相机 一旦相机拍照 它就会给我图像数据 它被称为数据 URL 吗 这是我处理它的代码 var imagesrc data image jpeg base64 imageData var myimag
  • 数组长度未定义[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我试图按如

随机推荐