vue项目中高德地图根据城市名定位到城市中心位置,并在该位置做标记

2023-11-04

 

先看效果:

 

首先记得引入高德地图,并且要带上&plugin=AMap.DistrictSearch,如下:

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=这里放上你的密钥&plugin=AMap.DistrictSearch"></script> 

 

这是data:

data(){
  return{
    map:{},
    markers:[],
    tableData3:[
      {cityName: "上海市"},
      {cityName: "信阳市"},
      {cityName: "郑州市"}
    ]
  }
}

 

methods:


    drawMap() {
      const that = this
       // 普通点
        var normalMarker = new AMap.Marker({
            offset: new AMap.Pixel(0, -40),
        });  
        var icon = new AMap.Icon({
          image: require('../../../../assets/images/map/red-circle.png'),//本地引入图标
          size: new AMap.Size(34, 34), 
          imageSize: new AMap.Size(34, 34),
        });
        var opts = {
            subdistrict: 0,   //获取边界不需要返回下级行政区
            extensions: 'all',  //返回行政区边界坐标组等具体信息
            level: 'city'  //查询行政级别为 市
        };
        var district = null
        //加载行政区划插件
        if(!district){
            //实例化DistrictSearch
          district = new AMap.DistrictSearch(opts);
        }
        let ccenter  
 //这里是把地图默认中心位置选在第一个城市的中心点,如果没这个需要可以删除这一段
        district.search(that.tableData3[0].cityName, function(status, result) {
           ccenter = [result.districtList[0].center.lng,result.districtList[0].center.lat]
           that.map = new AMap.Map('mapContainerbb', {
              mark:{},
              mapStyle: 'amap://styles/darkblue',
              center: ccenter,
              zooms: [4,8],//设置地图级别范围
              zoom: 13
            });
        })

        //行政区查询
        let cityCenter = ''
        that.tableData3.forEach((item,index)=>{
          district.search(item.cityName, function(status, result) {
            cityCenter = [result.districtList[0].center.lng,result.districtList[0].center.lat]
            that.markers[index] = new AMap.Marker({
            icon: icon,
            position: cityCenter,
            offset: new AMap.Pixel(-12,-12),
            zIndex: 101,
            map: that.map,
            anchor: 'top-right'
          });
          })
        })     
    },

 

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

vue项目中高德地图根据城市名定位到城市中心位置,并在该位置做标记 的相关文章

随机推荐

  • 光盘装系统和U盘装系统有什么区别?哪个好?

    光盘装系统和U盘装系统的区别 U盘 U盘安装就是利用U盘启动盘制作工具 制作U盘启动盘 之后从U盘启动WIN PE 系统 再加载下载好的系统镜像进行安装的方法 光盘 光盘安装法就是利用购买好的系统盘 或者自己制作的系统盘 利用电脑的光驱 直
  • Uni-app登录态管理(vuex)

    转载 https www cnblogs com edward life p 11181139 html 应用中 保持登录状态是常见需求 本文讲解使用uni app框架时如何保持用户登录状态 即 初次进入应用为未登录状态 gt 登录 gt
  • html提交表单 node,Nodejs之http的表单提交

    之前介绍了http模块的请求与响应的过程 也介绍了TCP协议的客户端与服务端的数据传输 http协议是TCP上层协议 这里创建了一个简单的web服务器 并对提交表单数据进行处理 根据了不起的Node js一书总结 POST方法提交表单数据
  • centso7 openssl 报错Verify return code: 20 (unable to get local issuer certificate)

    问题重现 由于centos7 默认的openssl的版本为1 1 0k 本人编译媒体服务时 需要openssl版本1 1 1以上 所有删除的之前的低版本openssl 手动编译了一个1 1 1k的版本 媒体服务正常运行 并且CA验证正常 结
  • hadoop完全分布式一键安装、启动、停止脚本

    hadoop完全分布式一键安装脚本 bin bash 配置HADOOP的安装目录 修改的地方1 脚本可以自己创建 在windows编写的代码可能运行有问题执行以下 1 gt vim redisshell sh 2 gt set ff uni
  • 1.使用SQL语句创建表

    1 创建表的语法 create table 表名 列1 数据类型 1 列2 数据类型 tablespace 表空间 SQL create table student ID NUMBER not null NAME VARCHAR2 20 表
  • 综合能力 ---- 1. 通信职业道德

    1 职业道德内涵 职业义务 职业良心 职业荣誉 职业信誉 职业尊严 职业纪律 2 记忆职业和职业道德概念 职业 人们在社会中所从事的专门业务和对社会所承担的特定职责 并以此作为重要生活来源的社会活动 职业道德 人们从事正当的社会职业 并在其
  • chrome.runtime.sendMessage 回调函数参数为undefined

    chrome runtime sendMessage 回调函数参数为undefined chrome runtime sendMessage的回调函数默认是同步的 而且超时后直接执行 返回undefined 如果要异步执行 必须在处理函数中
  • Vim,人类史上最好用的文本编辑器!从此以后你就是一个善良的极客!

    CSDN 的小伙伴们 大家好 我是沉默王二 写完 Shell 那篇后就想写 Vim 了 因为人类史上最好的文本编辑器就是 Vim 不赞同的请自觉持有保留意见 哈哈哈 Better Stronger Faster 用这三个单词来赞美 Vim
  • iOS(三)实现App底部TabBar的切换:二

    上一篇讲述了iOS自带的TabBar 但在我所见到的很多App源码中大多用了自己写的TabBar 惯例先上图 这只是一个最简单的TabBar 但重在原理 虽然是我懒 HomeViewController h HomeViewControll
  • day17-json和面向对象(总结)

    day17 json和面向对象 姚万里 1 json数据 1 json数据格式的作用 json和xml是两种通用的数据格式 几乎所有的高级编程语言都支持 json和xml数据的格式的存在 是为了让不同编程语言的程序可以进行有效的数据沟通 2
  • VSCode: PlatformIO主页一直显示loading解决方案

    VSCode PlatformIO主页一直显示loading解决方案 Github问题描述 Could not start PIO Home server Error timeout 205 在vscode中打开platformio点击进入
  • 海豚php上传音频方法(引用 layui的 js 与 css)

    1 html代码 div class layui upload div div div
  • 1033. 旧键盘打字(20)--Python

    之前的时候最后一个测试点一直没有通过 后来在网上搜寻了一下答案 发现自己写的逻辑实在是太混乱了 所以看了一下别人的思路 主要是 1 首先判断坏键盘中是否有 若是有的话 使用flag标记一下 2 然后可以循环的判断应该输出的字符串 边遍历边输
  • 遗传算法及Python代码实现、图解

    目录 前言 一 遗传算法 Genetic Algorithm GA 简介 二 遗传算法基本概念 二 1 目标函数 环境 二 2 一组解 最优解 种群 最适宜种群 二 3 解 编码 个体 基因型 二 4 解码 表现型 难点 二 5 交叉 变异
  • 【jdk1.8特性】之Function

    笔者日常 来吧 Function 相关声明 本文按照以下顺序进行说明并给出简单的使用示例 序号 接口 1 Function
  • 【Redis笔记】发布与订阅

    Redis发布与订阅功能由PUBLISH SUBSCRIBE PSUBSCRIBE等命令组成 SUBSCRIBE命令 客户端可以订阅一个或多个频道 从而成为这些频道的订阅者 subscriber 每当有其他客户端向被订阅的频道发送消息时 频
  • 未来十年互联网十大发展趋势

    世界已被互联网占领 互联网未来10年将如何变化与发展 1 互联网全球普及 根据国际电信联盟最近统计 全球互联网用户总数已经达到20亿人 而联合国公布的最新统计数字显示 世界人口在2011年底突破70亿大关 所以到2020年毫无疑问会有更多的
  • Ubuntu下各种压缩与解压的操作

    这篇文章主要给大家介绍了在Ubuntu系统下各种压缩与解压的操作 其中包括 tar gz bz2 bz Z tgz zip rar以及 lha等各个的解压与压缩方法 每一种都给出了示例代码 需要的朋友可以参考学习 一起来看看吧 一 tar
  • vue项目中高德地图根据城市名定位到城市中心位置,并在该位置做标记

    先看效果 首先记得引入高德地图 并且要带上 plugin AMap DistrictSearch 如下