vue3高德地图点击标记显示自定义提示框/地图平移过渡(panBy/panTo)

2023-10-26

上一篇文章有讲到点击标记显示窗口信息,但是在实际的项目需求中我们可能需要在某一个固定的地方显示自定义的内容,这里就需要我们自己动手了.

(4条消息) vue3高德地图多个点标记/窗口信息/点标记自定义图片不显示问题_奋斗不息,编码不止!的博客-CSDN博客

 地图的平移过渡: 点击标记,地图会进行平移(你所点击的标记始终在地图的中心点)

panBy: 以像素为单位,沿x方向和y方向移动地图,x向右为正,y向下为正

PanTo: 地图中心点平移至指定点位置

以下是完整代码:

<template>
    <div class="app-container">
        <div style="background-color: #ffffff;position:relative;">
            <div id="container"></div>
            <div v-show="flag" class="content-bar">{{titlebar}}</div>
        </div>
    </div>
</template>

<script setup>
import AMapLoader from '@amap/amap-jsapi-loader';
import iconTeam from "@/assets/images/dog1.png";
import {ref} from "vue";

const list = ref(
    [
        {
            lnt:116.724502,
            lat:39.905023,
            content:'北京市政府',
        },
        {
            lnt:121.473667,
            lat:31.230525,
            content:'上海市政府',
        },
        {
            lnt:117.201509,
            lat:39.085318,
            content:'天津市政府',
        },
        {
            lnt:103.834228,
            lat:36.060798,
            content:'兰州市政府',
        },
        {
            lnt:108.939645,
            lat:34.343207,
            content:'西安市政府',
        },
        {
            lnt:112.549656,
            lat:37.870451,
            content:'太原市政府',
        },
        {
            lnt:114.304569,
            lat:30.593354,
            content:'武汉市政府',
        },
        {
            lnt:113.778584,
            lat:34.759197,
            content:'郑州市政府',
        },
    ]
)
const flag = ref(false);
const titlebar = ref('');

window._AMapSecurityConfig = {
    securityJsCode: '8e920f73eb2e6880a92ea6662eefc476',
}
AMapLoader.load({
    key:"e4e3d44a98350790a1493450032bbec5", // 申请好的Web端开发者Key,首次调用 load 时必填
    version:"2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
    // plugins:[''], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
}).then((AMap) => {
    const map = new AMap.Map("container",{  //设置地图容器id
        viewMode:"3D",    //是否为3D地图模式
        zoom:6,           //初始化地图级别
        center:[113.808299,34.791787], //初始化地图中心点位置
    });
    // 点标记
    list.value.map((data) => {
        const marker = new AMap.Marker({
            position: new AMap.LngLat(data.lnt,data.lat),
            title: data.content,
            content: `<img style="width:50px;height:50px;border-radius:25px;" src="${iconTeam}">`,
            offset: new AMap.Pixel(-15,-15)
        })
        marker.on("click",(e) => {
            titlebar.value = e.target._originOpts.title
            // panTo 地图平移
            map.panTo([e.lnglat.lng,e.lnglat.lat])
            flag.value = true;
        })
        map.on("click",(e) => {
            flag.value = false;
        })

        marker.setMap(map);
    })



}).catch(e=>{
    console.log(e);
})




</script>

<style>
    #container{
        padding:0px;
        margin: 0px;
        width: 100%;
        height: 800px;
    }
    .content-bar {
        position:absolute;
        top: 10px;
        right: 10px;
        width: 500px;
        height: 360px;
        background-color:rgb(255 255 255 / 60%);
        text-align: center;
        line-height: 360px;
    }
</style>

效果图:

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3高德地图点击标记显示自定义提示框/地图平移过渡(panBy/panTo) 的相关文章

  • javascript 使用 unicode 进行排序

    有很多按某些属性 即 标题 对某些 JSON 数组进行排序的示例 我们正在使用这样的比较函数 function sortComparer a b if a title b title return 0 return a1 gt b1 1 1
  • JSLint - 声明变量的问题

    以下代码通过 JSLint var sGreeting hello world switch sGreeting case Hello world var a some a value break case Kamusta mundo va
  • 时差并在javascript中转换为小时和分钟

    我的时间值如下 开始时间如 09 00 00 结束时间如 10 00 00 这里不需要日期值 所以这个值需要计算差异并转换成小时和分钟 秒 我曾尝试过 var test new Date getTime startTime var test
  • 如何重新加载当前的 Angular 2 组件

    如何在 Angular 2 中再次重新加载相同的组件 下面是我的代码 import Component OnInit ElementRef Renderer from angular core import Router Activated
  • Reactjs中的递归函数

    我正在使用递归函数制作动态菜单 并且我已经制作了菜单并且它以正确的顺序显示 没有任何问题 我从以下位置收到菜单数据服务 js文件 您可以在下面的代码沙箱示例中看到整个工作应用程序 https codesandbox io s reactst
  • 上下文保留评估

    我们正在构建一个小型 REPL 来评估 使用eval 用户输入的 JavaScript 表达式 由于整个事情是事件驱动的 因此评估必须在单独的函数中进行 但必须在调用之间保留上下文 即所有声明的变量和函数 我想出了以下解决方案 functi
  • 处理 Javascript 中的浮点精度[重复]

    这个问题在这里已经有答案了 我有大量数值y在 JavaScript 中 我想通过将它们四舍五入到最接近的倍数来对它们进行分组x并将结果转换为字符串 如何解决烦人的浮点精度 例如 0 2 0 4 0 6000000000000001 我尝试过
  • 将另一个类添加到 div

    我有一个函数可以检查表单提交的年龄 然后根据年龄在 div 中返回新内容 现在我只是使用 getElementById 来替换 HTML 内容 但我认为如果我也可以向 div 添加一个类 那对我来说会更好 例如我有 if under cer
  • 如何覆盖由 Asp.Net UpdatePanel (动态)添加的 Javascript 函数?

    我遇到了一些麻烦 我只能想象是 Javascript 范围问题以及 Microsoft Asp Net 客户端框架 由于上述原因这个问题 https stackoverflow com questions 18862565 what is
  • 如何在angularjs中实现类似Excel的过滤器?

    我需要使用 angulajs v 1 为表实现简单的 Excel 类似 Filer 我遇到了困难 请帮助我 我在下面添加了我的代码片段 我想在选中复选框并单击 确定 按钮后在表中显示过滤后的数据 我正在使用模型执行此操作 但没有得到解决方案
  • 在 MVC 5 中,如何在单个 Ajax POST 请求中发送 ViewModel 和文件?

    我有一个 ASP NET MVC 5 应用程序 我正在尝试发送带有模型数据的 POST 请求 并且还包括用户选择的文件 这是我的 ViewModel 为了清晰起见进行了简化 public class Model public string
  • Javascript 递增运算求值顺序

    我知道后缀 前缀递增 递减运算符的作用 而在 javascript 中 这似乎没有什么不同 虽然我可以很容易地猜出这一行的结果 var foo 10 console log foo foo foo foo foo output 10 11
  • 响应代码 0 从网站获取 JSON

    我在使用下面的代码时遇到问题 每当我尝试从网站请求 JSON 数据时 我总是会得到响应代码 0 有人知道为什么吗 如果我要访问该网站 我只需输入正确的登录信息即可获取数据
  • 更改卡片布局中的活动项目。扩展JS

    我有一个使用卡片布局的面板 如下所示 var cardpanel new Ext Panel id cardPanel title Card Layout region center layout card activeItem 0 aut
  • 即使在回发后也保持用户检查 radiobtn 检查

    我有以下无线电控件 默认选中 全部 如果用户检查其他一些单选按钮并提交 在回发时我想保留选中的按钮 以便用户可以看到他们单击的内容 如何保留使用 jquery 选择的内容 我正在使用的是
  • 如何使用 Twitter Bootstrap API 检测您正在使用哪个设备视图?

    我刚刚开始为我即将开展的项目使用 Twitter Bootstrap API 主导航包含 3 个主要元素 site nav 社交链接导航 搜索网站表格 在移动设备上查看网站时 我使用折叠插件折叠网站导航和搜索表单 移动视图有 2 个按钮 单
  • Snap.svg 如何获取我们拖动的元素

    我正在使用 Snap svg 库并进行一些拖放操作 我的问题是如何获取我拖动的元素的 id 我正在尝试实现拖放 并且只有选定的区域才是有效的放置目标 我不知道如何检查拖拽下方的元素是什么 这是来自文档 Element drag onmove
  • 如何在 JavaScript 中对混合数字/字母数字数组进行排序

    我有一个混合数组 我需要按数字 字母表然后按数字排序 A1 A10 A11 A12 A3A A3B A3 A4 B10 B2 F1 1 2 F3 我如何将其排序为 1 2 A1 A2 A3 A3A A3B A4 A10 A11 A12 B2
  • 使用 jQuery 在数字前面添加额外的零?

    我上传的文件格式如下 MR 1 MR 2 MR 100 MR 200 MR 300 ETC 我需要做的是在 MR 10 之前添加额外的两个 00 并在 MR10 99 之前添加一个额外的 0 这样文件就格式化了 MR 001 MR 010
  • 流量类型问号?

    对使用 感到困惑在流动中 据我所知 感谢参数之前或之后的流类型问号 https stackoverflow com questions 47314749 flow type question mark before or after par

随机推荐

  • Open3D——RGBD图转化为点云(pcd)并显示

    1 用Open3D分别读取RGB图片和深度图片 彩色图 深度图 2 把Open3D中的RGBD图片转化pcd格式并储存 3 显示点云 直接看代码 Open3D www open3d org The MIT License MIT See l
  • 五款单按键开关机电路图

    转载 https blog csdn net shileiwu0505 article details 114401137 一 单按键开关机电路图 本例电路可实现通过按一次按键S1实现开机 再按一次S1实现关机的功能 整个电路的工作过程 电
  • 详解 TS 中的子类型兼容性

    简介 在写 TypeScript 代码时经常遇到类型检查不通过的问题 这些问题根据编译器给出的错误提示以及修改建议多数可以快速修复 本文讲解的内容是编译器进行类型检查时的兼容性相关检查规则 这些规则在 TypeScript 语言背后默默发挥
  • 刷脸支付用户可以摆脱对手机介质的依赖

    支付宝与微信的刷脸支付设备落地体量约在10万台左右 同时云闪付也在广州 杭州等七个城市陆续上线了 刷脸付 从安装数量看 刷脸设备的总体落地效果理想 现在商家对使用扫码支付服务具有很强的依赖性 且担心刷脸支付因为技术与道德问题而遭遇不必要的麻
  • 【uni-app】响应式单位rpx

    单位 rpx是响应式px rpx是一种根据屏幕宽度自适应的动态单位 以750宽的屏幕为基准 750rpx正好是屏幕的宽度 屏幕变宽 rpx实际显示效果会等比放大 但在App端和h5端 屏幕宽度达到960px时 默认将按照375px的屏幕宽度
  • linux增加nfs的inode,使用NFS时出现nfs_inode_cache占用内存过高问题的解决

    使用NFS时出现nfs inode cache占用内存过高问题的解决 来源 IT165收集 发布日期 2014 04 14 20 52 06 一 现象 运行了使用NFS文件系统的应用程序后 内存缓慢泄漏 最后导致整个服务器的内存全部耗尽 系
  • 向量微积分基础

    本文首发在我的个人博客 https jlice top p 7kemt 欢迎大家前去参观 么么哒 机器学习里经常需要用到向量微积分 向量微积分其实并不难 但大学数学一般不提 导致在看机器学习的一些推导时常常感觉疑惑 机器学习里经常用到标量和
  • python3 华为推送系统接入

    只是后台对接华为推送服务接口对接 前端集成还是请参考官方文档 根据AppID和AppSecret 获取请求token 根据token发送http请求 获取token 请注意token的有效时间 不避免频繁获取 def get access
  • 基于深度学习的小学语文“输出驱动”教学研究课题方案

    目录 一 课题研究的背景与意义 二 课题研究理论依据 三 国内外研究情况
  • CheckStyle使用手册

    介绍 CheckStyle是SourceForge下的一个项目 提供了一个帮助JAVA开发人员遵守某些编码规范的工具 它能够自动化代码规范检查过程 从 而使得开发人员从这项重要 但是枯燥的任务中解脱出来 CheckStyle默认提供一下主要
  • 用VC 6.0实现串行通信的三种方法

    摘要 本文介绍了在Windows平台下串行通信的实现机制 讨论了根据不同的条件用Visual C 设计串行通信程序的三种方法 并结合实际 实现对温度数据的接收监控 在实验室和工业应用中 串口是常用的计算机与外部串行设备之间的数据传输通道 由
  • 数据挖掘常用的基本技术,主要有哪些?

    1 统计学 统计学虽然是一门 古老的 学科 但它依然是最基本的数据挖掘技术 特别是多元统计分析 如判别分析 主成分分析 因子分析 相关分析 多元回归分析等 2 聚类分析和模式识别 聚类分析主要是根据事物的特征对其进行聚类或分类 即所谓物以类
  • 【转】多层级的makefile编写——递归调用makefile

    转自 多层级的makefile编写 递归调用makefile wangyuling1234567890的专栏 博客频道 CSDN NET http blog csdn net wangyuling1234567890 article det
  • 测试框架pytest教程(7)实现 xunit 风格的setup

    pytest支持setup和teardown 对于使用unittest和nose框架的用户来说对这些很熟悉 但是在pytest可以使用功能更强大的fixture来实现固定装置 模块级别 如果单个模块中有多个测试函数和测试类 您可以选择实现以
  • 计算机网络相关知识点

    计算机网络知识点 1 流量单位换算 2 概念和单位换算 3 计算机网络概述 4 例题 本文参考资料一 GitHub上的博客CS Notes 本文参考资料二 百度文库计算机网络知识点文档 1 流量单位换算 计算机中表示容量的单位有B KB M
  • MySQL5.7 下载安装

    一 下载 尽量使用压缩包解压缩方式安装 压缩包的解压后配置下环境变量就能使用 如果使用安装程序 msi安装程序 安装 卸载起来会比较麻烦 下载地址链接 各版本下载链接 二 安装 1 解压缩 下载的zip压缩包解压缩 我的mysql解压缩安装
  • AttributeError: ‘str‘ object has no attribute ‘parse‘

    今天 使用python提取版本号 pip3 install packaging from packaging import version A 3 5 2 version parse A 发现报错 AttributeError str ob
  • golang开发:类库篇(三)命令行工具cli的使用

    为什么要使用命令行 觉得这个问题不应该列出来 又觉得如果初次进行WEB开发的话 可能会觉得所有的东西都可以使用API去做 会觉得命令行没有必要 其实 一个生产的项目命令行是绕不过去的 比如运营需要导出报表 统计下付费用户 服务不稳定修改下订
  • 推荐引擎系统架构

    本文从互联网收集并整理了推荐系统的架构 其中包括一些大公司的推荐系统框架 数据流存储 计算 模型应用 可以参考这些资料 取长补短 最后根据自己的业务需求 技术选型来设计相应的框架 后续持续更新并收集 界面UI那一块包含3块东西 1 通过一定
  • vue3高德地图点击标记显示自定义提示框/地图平移过渡(panBy/panTo)

    上一篇文章有讲到点击标记显示窗口信息 但是在实际的项目需求中我们可能需要在某一个固定的地方显示自定义的内容 这里就需要我们自己动手了 4条消息 vue3高德地图多个点标记 窗口信息 点标记自定义图片不显示问题 奋斗不息 编码不止 的博客 C