高德地图点聚合报错

news2024/11/18 5:41:44

最近做项目遇到这样一个玄学问题:

在写高德地图的时候加一个覆盖物 除了金华市其他城市覆盖并且不能点击,金华市内点击获取坐标点这样一个业务,

 到这里都很正常,代码奉上

const AMap = window.AMap

const state = reactive({
  mapInput: '',
  drawer: true,
  map: null as any, //地图
  district: null as any
})
const gaodeMap = () => {
  state.map = new AMap.Map('mapGaode', {
    center: [119.64351, 29.05988],
    zoom: 15,
    resizeEnable: true
  })
  state.map.setCity('金华市婺城区') //初始化显示的区域
  //带洞多边形
  new AMap.DistrictSearch({
    extensions: 'all',
    subdistrict: 0
  }).search('婺城区', function (status, result) {
    console.log('99999999')
    console.log(status, result, '----334')
    console.log('11111111')
    // 外多边形坐标数组和内多边形坐标数组
    var outer = [
      new AMap.LngLat(-360, 90, true),
      new AMap.LngLat(-360, -90, true),
      new AMap.LngLat(360, -90, true),
      new AMap.LngLat(360, 90, true)
    ]
    console.log(39)
    console.log(result)
    var holes = result.districtList[0].boundaries
    console.log(41)
    var pathArray = [outer]
    pathArray.push.apply(pathArray, holes)
    var polygon = new AMap.Polygon({
      path: pathArray,
      strokeColor: '#00eeff',
      strokeWeight: 1,
      fillColor: '#71B3ff',
      fillOpacity: 0.5
    })
    polygon.setPath(pathArray)
    state.map.add(polygon)
    console.log(1222)
  })
  //点击事件
  function showInfoClick(e) {
    console.log('您在 [ ' + e.lnglat.getLng() + ',' + e.lnglat.getLat() + ' ] 的位置单击了地图!')
    emit('mapPopups', [e.lnglat.getLng(), e.lnglat.getLat()], false)
  }
  state.map.on('click', showInfoClick)
  //地图搜索
  //输入提示
  var autoOptions = {
    input: 'tipinput',
    city: '金华'
  }
  var auto = new AMap.Autocomplete(autoOptions)
  console.log(auto)

  console.log(AMap.event.addListener)
  // AMap.event.addListener(auto, 'select', function (e) {
  //   console.log(e)
  //   placeSearch.setCity(e.poi.adcode)
  //   placeSearch.search(e.poi.name) //关键字查询查询
  // }) //注册监听,当选中某条记录时会触发
}

后面加了一个可搜索的 需求

这个是高德的api,选择后会可以拿到坐标,然后我这边就做了一个标点事件,把视觉中心改成这个拿到的标点,并且层级放到20

let timeoutOld: NodeJS.Timeout
const mapInputClick = (queryString: string, callback: (arg: any) => void) => {
  console.log(queryString, callback, '---获取输入方法的建议---')
  var placeSearch = new AMap.PlaceSearch({
    pageSize: 10,
    pageIndex: 1,
    city: '金华'
  }) //构造地点查询类
  placeSearch.search(state.mapInput, function (status, result) {
    console.log(status, result, '-----模糊查询')
    if (result.poiList) {
      result.poiList.pois.map((item) => {
        item.label = item.address
      })
      const results = result.poiList.pois
      clearTimeout(timeoutOld)
      timeoutOld = setTimeout(() => {
        callback(results)
        console.log(results, '模糊查询4')
      }, 1000 * Math.random())
    }
  })
}
const oldManHandleSelect = (value) => {
  //标点
  //设置zoom点击要与初始化一样,不然放大缩小会报错
  // state.map.setMaxZoom = 20
  state.map.setZoomAndCenter(15, [value.location.lng, value.location.lat]) //同时设置地图层级与中心点
  // state.map.setCenter([value.location.lng, value.location.lat])
  // state.map.setZoom(20)
  // center:,
  // zoom: 20,
  // resizeEnable: true
  // })s
  console.log(value)
}

功能都没问题可是所搜到之后,放大缩小地图出问题了,控制台库库报错,

可以看到他这里报的是VG的错,也就是说点聚合物错乱了,这里小编思考了很久,尝试了很多种方法,都不行,最后考虑到缩放报错可能是层级的原因,需要设置一个maxzoom,否则会出现聚合物错乱的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/700135.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黑客进行网络欺骗攻击的手段有哪些?

网络欺骗主要方式有:IP 欺骗、ARP 欺骗、DNS 欺骗、Web 欺骗、电子邮件欺骗、源路由欺骗和地址欺骗等。其技术主要分为 HONEYPOT、分布式 HONEYPOT 和欺骗空间技术等。其中,源路由欺骗方式指通过指定路由,以假冒身份与其他主机进行合法通信或…

python实现遗传算法(单目标优化,多目标优化)

首先我们应该熟悉numpy的矩阵取值 [:, 1::2] # 第一维,从第二个元素起步长为2取元素[:, ::2] # 第一维,从第一个元素起步长为2取元素 1 遗传本质 染色体的交叉和变异 种群:很多个个体组成的群体,即为所有可能解的集合个体&…

[muduo学习笔记]事件分发器(Channel、Poller)

此学习笔记参考施磊老师的muduo教学课程。 目的是搞懂 muduo 网络库的核心框架。EventLoop、channel 和 Poller 之间的关系 文章目录 1 Poller 抽象基类2 Channel3 模块的包含muduo模块梳理参考: 整体框架如下: muduo是基于 Reactor 模式的网络库&#…

vue中v-for重复数据处理||element下拉框去除重复

前端去重方法有多种,只说三种常用的(新老方法都有) 1-使用常规双for循环(暴力算法)遍历比较的方式对值进行比较 2-使用js方法sort排序(只针对数组),但是经常在vue等新框架中提示TypeError: arr.sort is not a function 3-使用reduce方法(>…

传统后端漏洞----(Web Server) 解析漏洞

笔记 前言IIS解析漏洞文件夹解析漏洞原理限制条件 ";" 分号截断漏洞原理 IIS解析漏洞检测IIS 文件夹解析漏洞检测IIS 分号截断漏洞检测 防御手段 Nginx解析漏洞Nginx 文件类型错误解析漏洞导致任意PHP代码执行原理Nginx 空字节解析漏洞导致任意文件可解析&#xff08…

DB2:DB2TOP解析

文章目录 简介主界面功能介绍快捷设置数据库监控(d)表空间监控(Tablespace)(t)动态SQL监控(Dynamic SQL)(D)表监控(T)会话监控(session)(l)缓冲池监控(Bufferpool)(b)锁监控(Locks)(U)瓶颈监控(Bottleneck)(B)load监控(Utilities)…

FastDFS单机部署及SpringBoot整合

前言 FastDFS是一个开源的高性能分布式文件系统。它的主要功能包括:文件存储、文件同步和文件访问(文件上传和文件下载),可以解决高容量和负载平衡问题。FastDFS应满足其服务基于文件的网站的要求,如照片共享网站和视…

数据安全服务,美创科技为“数字国贸” 筑牢安全防线

在数字经济蓬勃发展的当下,国有企业作为国民经济的“中流砥柱”,正以主力军和先行者之姿,以数字化转型创新作为引擎,驱动高质量发展。数字化进程持续深入,伴随数据要素多样流动,降低数据安全风险&#xff0…

UART I2C SPI CAN LIN 和ETH这些通讯外设的内在联系

这些不同的通讯手段之间其实有着许多隐藏的共性。 物理层到数据链路层扒一扒这些通讯手段的底层原理。 物理层与数据链路层这两个概念: ISO国际标准化组织在上世纪70年代末, 把计算机网络通信的整个框架描述成了一个七层的模型,并称之为OS…

数据备份技术------概述与总结

数据备份技术------概述与总结 数据备份技术------概述与总结备份技术的发展(组网方式)1、Host备份方式2、LAN备份方式3、LAN-free备份方式(SAN)4、Server-free备份方式5、Sever-less备份方式 备份技术的发展(主流备份…

Springboot搭配Redis实现接口限流

目录 介绍 限流的思路 代码示例 必需pom依赖 自定义注解 redis工具类 redis配置类 主拦截器 注册拦截器 介绍 限流的需求出现在许多常见的场景中: 秒杀活动,有人使用软件恶意刷单抢货,需要限流防止机器参与活动 某 api 被各式各样…

人工智能系统的技术架构

一、架构图 1.基础层包括: 硬件设施、软件设施、数据资源。其中在硬件设施方面,做深度学习和神经网络训练时候往往会涉及到模型训练是在CPU还是GPU上面,在这个里面GPU就是做计算加速的,第二个是智能芯片,市面上出现的…

linux 系统 最详细 启动流程

文章目录 详细分析 系统启动过程主要流程阶段说明BIOSMBR(Stage 1 bootloader)GROUB(Stage 2 bootloader)kernelvmlinuzinitrd.img Init 详细分析 系统启动过程 主要流程 PC 启动主要流程,分为四个阶段: BIOS -> MBR -> GRUB -> KERNEL ->…

6.3.5 修改文件时间或创建新文件: touch

我们在 ls 这个指令的介绍时,有稍微提到每个文件在linux下面都会记录许多的时间参数, 其实是有三个主要的变动时间,那么三个时间的意义是什么呢? modification time (mtime): 当该文件的“内容…

1.6、JAVA 分支结构 switch结构 for循环

1 分支结构 1.1 概述 顺序结构的程序虽然能解决计算、输出等问题 但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构 1.2 形式 1.3.1 练习:商品打折案例 创建包: cn.tedu.basic 创建类: TestDiscount.java 需求: 接收用户输入的原价。满1000打9折…

消息通知模块的设计原理

目录 介绍 一、数据库设计 公告消息记录应该全局唯一,还是为每个用户创建一条公告消息? 用MongoDB存储消息数据 1. 搞冷热数据分离,热数据定期归档 2. 冷数据存储一段时间后就销毁,释放存储空间 二、系统消息的发送与收…

肺癌的成因

中国医师协会 2023 年呼吸医师年会暨第二十二届中国呼吸医师论坛(CACP 2023)于 2023 年 6 月 15-18 日在大连如期举行。肺癌是我国目前发病率和死亡率最高的癌症,它的早期筛查和诊断十分关键。 丁香园呼吸时间特邀四川大学华西医院院长、呼吸…

软件测试报告办理解决方案分享,为什么要选择CMA认证或CNAS认可测试报告?

在进行软件测试时,合格的测试报告对于软件产品的质量保障至关重要。那么软件测试报告又该如何办理呢?软件企业为什么要选择CMA认证或CNAS认可的测试报告呢?因为CMA认证的测试报告和CNAS认可的测试报告都具有不可忽视的好处。 一、软件测试报告办理解决方案 1. 测…

我蒙了面试官一上来就说:请你介绍一下你测试过的项目

测试人员在找工作中,基本都会碰到让介绍项目的这种面试题,如何正确介绍自己的项目?需要做哪些技术准备? 今天这篇文章,围绕这些问题,跟大家一起聊一聊。 关于介绍自己的项目? 可以从以下几个方面…

赛效:如何将PDF文件分割成单页的PDF文档

1:打开wdashi点击PDF处理菜单里的“PDF分割”。 2:将本地PDF文件添加上去,在下方选择转换页码,在这里我们选择转换每一页。 3:点击右下角“开始转换”。 4:转换好后,点击绿色下载按钮将分割好的…