高德地图-当默认打开InfoWindow信息窗体时,setCenter()无法居中

本文主要是介绍高德地图-当默认打开InfoWindow信息窗体时,setCenter()无法居中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在研究地图的 API,对比了一下 高德地图百度地图,最后选择了高德地图。在开发遇到点小问题,记录一下。

背景

需求功能是,点击任意(维护的)坐标后,跳转到该坐标,并以该坐标为中心,并且默认显示该地址 MarkerinfoWindow 信息窗体。

问题是,当点击任意坐标后, infoWindow 信息窗体可以默认打开,但是无法将地图中心设置为当前 Marker 的坐标,位置无法居中。用户体验十分不好。

解决方案

问题代码:

const onSelect = (position: number[], title: string) => {  const content = `  <div style="width: fit-content; padding: 4px; text-align: center;">  <b>${title}</b>  <br/>  <br/>  坐标:[${position[0]}, ${position[1]}]  </div>`;  // 设置坐标为屏幕中心map.setCenter(position);  const marker = new AMap.Marker({  position: position  });  const infoWindow = new AMap.InfoWindow({  isCustom: false, content: content,  offset: new AMap.Pixel(0, -35)  });  map.add(marker);  // 显示信息窗体infoWindow.open(map, new AMap.LngLat(...position));  // 信息窗体点击事件marker.on('click', (e: any) => infoWindow.open(map, e.target.getPosition()));  
};

解决方案:

const onSelect = (position: number[], title: string) => {  const content = `  <div style="width: fit-content; padding: 4px; text-align: center;">  <b>${title}</b>  <br/>  <br/>  坐标:[${position[0]}, ${position[1]}]  </div>`;  const marker = new AMap.Marker({  position: position  });  const infoWindow = new AMap.InfoWindow({  isCustom: false, content: content,  offset: new AMap.Pixel(0, -35)  });  map.add(marker);  // 显示信息窗体infoWindow.open(map, new AMap.LngLat(...position));  // 信息窗体点击事件marker.on('click', (e: any) => infoWindow.open(map, e.target.getPosition()));  // 设置坐标为屏幕中心map.setCenter(position);
};

infoWindow 信息窗体代码放在设置坐标中心的上面即可

猜测渲染周期导致

这篇关于高德地图-当默认打开InfoWindow信息窗体时,setCenter()无法居中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/630490

相关文章

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

录音功能在哪里? 电脑手机等设备打开录音功能的技巧

《录音功能在哪里?电脑手机等设备打开录音功能的技巧》很多时候我们需要使用录音功能,电脑和手机这些常用设备怎么使用录音功能呢?下面我们就来看看详细的教程... 我们在会议讨论、采访记录、课堂学习、灵感创作、法律取证、重要对话时,都可能有录音需求,便于留存关键信息。下面分享一下如何在电脑端和手机端上找到录音功能

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断