小白的高德地图初体验(一)——打点

说到高德地图,肯定要推荐官方文档,☛☛☛传送门,走你~~

☞☞小白的高德地图初体验(一) —— 打点
☞☞小白的高德地图初体验(二)——点聚合
☞☞小白的高德地图初体验(三) —— 轨迹
☞☞小白的高德地图初体验(四) —— 矢量图形
☞☞小白的高德地图初体验(五)—— 信息窗体


环境是vue,用的是插件 —— amap.client.js。
大概就长这样的 ☟☟☟

export function MapLoader() {let amap = new Promise((resolve, reject) => {if (window.AMap) {resolve(window.AMap)} else {creatScript("amap", reject)}window.initAMap = () => {resolve(window.AMap)}})let amapUi = new Promise((resolve, reject) => {if (window.AMapUI) {resolve(window.AMapUI)} else {creatScript("amapUi", reject, () => {resolve(window.AMapUI)})}})let loca = new Promise((resolve, reject) => {if (window.Loca) {resolve(window.Loca)} else {creatScript("amapLoca", reject)resolve(window.Loca)}})return Promise.all([amap, amapUi, loca]).then(result => {return result}).catch(e => {console.log(e)})
}function creatScript(name, reject, cb) {let srcswitch (name) {case "amap":src ="//webapi.amap.com/maps?v=1.4.13&callback=initAMap&key=9f4bf7a493367c3458ccad717705d3b3&plugin=AMap.DistrictLayer,AMap.MouseTool,AMap.TileLayer,AMap.Geocoder,AMap.PolyEditor"breakcase "amapUi":src = "//webapi.amap.com/ui/1.0/main-async.js"breakcase "amapLoca":src = "https://webapi.amap.com/loca?key=9f4bf7a493367c3458ccad717705d3b3&v=1.2.1"break}let script = document.createElement("script")script.type = "text/javascript"script.src = srcscript.onerror = rejectscript.onload = cbdocument.head.appendChild(script)
}

一、初始化

<template><div class="child-container"><div title="地图详情" width="800px" class="form-dialog"><div id="map" class="map" /></div></div>
</template><script>
import { MapLoader } from "@/plugins/amap.client.js"
export default {data() {return {AMap: {},maps: {},marker: {},infoWindow: {}}},watch: {},created() {this.initMap()},methods: {initMap() {MapLoader().then(() => {this.AMap = window.AMaplet { AMap } = thisthis.maps = new AMap.Map("map", {resizeEnable: true,center: [116.368904, 39.923423],zoom: 15})    })}}
}
</script>

这样就能获取一个地图了,喏张这样。在这里提示一下一定要给地图一个长宽,不然就会疑惑半天自己的地图去哪了。接下来我们就会在这个基础上做一系列的操作。

二、打点

接下来我们看看如何在地图上打一个点(当然这是写死的,固定的一个点)
initMap()方法中添加

//打点一个点
this.marker = new AMap.Marker({position: [116.368904, 39.923423]
})
this.maps.add(this.marker)
//多个点
let lng = [[119.369904, 39.983423],[119.368904, 39.923423],[119.358904, 39.923423]
]
for (let i = 0; i < lng.length; i++) {this.marker = new AMap.Marker({position: lng[i]})this.maps.add(this.marker)
}
this.maps.setFitView()
  • 自适应
    点很多的时候,不一定能全部展示出来 ,可以用**maps.setFitView()**,调整视图到合适的显示范围。

当你不需要这个点的时候可以用 this.maps.remove(this.marker);来删除点,更多方法请看文档~

三、获取经纬度

当我们点击地图的时候怎么获取经纬度呢?

 this.maps.on("click", e => {console.log(this.maps)console.log(e)console.log(e.lnglat.getLng())console.log(e.lnglat.getLat())})

这样就能看到获取到经纬度了,和我一样的前端小白只能多打印看看这些东西是个啥啦,也是学习的一种方法哦~~~

四、升级版的打点

刚刚我们学会了怎么标记点和怎么获取经纬度,这样我们就可以做一个,鼠标点击之后标记点的效果。
initMap()方法中添加

 this.maps.on("click", e => {let lng = e.lnglat.getLng()let lat = e.lnglat.getLat()this.addMarker([lng, lat])
})

另写一个方法

addMarker([lng, lat]) {let { AMap } = thisthis.marker = new AMap.Marker({position: [lng, lat],icon: new AMap.Icon({size: new AMap.Size(24, 36),image: this.$getEventIcon("dw"),imageSize: new AMap.Size(24, 36),imageOffset: new AMap.Pixel(0, 0)})})this.maps.add(this.marker)
}

喏效果就这样啦,红色的点就是我鼠标标记的点~~~

  • 自定义标记点
    可以通过 icon 设置点的样式,就像 addMark 方法里面一样设置一下就可以了,或者,向已创建好的 Marker 添加 Icon:
var icon = new AMap.Icon({...
});
marker.setIcon(icon);


大概常用的就是这些,更多可以看官网。

有缘再见ヾ( ̄▽ ̄)Bye~Bye~

小白的高德地图初体验(一) —— 打点相关推荐

  1. 小白的高德地图初体验(四)—— 矢量图形

    小白的高德地图初体验(四)-- 矢量图形 这里是官方文档☛☛☛传送门,走你~~ ☞☞小白的高德地图初体验(一) -- 打点 ☞☞小白的高德地图初体验(二)--点聚合 ☞☞小白的高德地图初体验(三) - ...

  2. 地图上分成一块一块区域 高德地图_各种地图(如百度地图、腾讯地图和高德地图)体验上有什么区别?...

    文末有更新 ----------------------- 见图,来体验一下2015年12月7日的百度地图,我真是无话可说 我从来没有搜索过这种东西. 这问题我也@了客服,现在不知道还有没有. 呵呵, ...

  3. Echarts地图初体验

    根据黑马pink老师的视频制作的echarts地图 最近沉迷P社的钢4,断断续续几天才做好 效果预览 echart拿来做这种动态图还是不错的 官网百度的echarts 仓库地址 链接: link. h ...

  4. Echarts GL 3d地图初体验,浙江天地图作为底图mapbox

    网上看到一张图效果非常好,斜45度角模式的3d地图,用在大屏模式上非常有科技感,高端大气上档次. 于是,研究了下怎么做,发现Echarts GL能做出相似的描边3D效果,地图可以加载浙江天地图(如下图 ...

  5. 高德地图自定义图标的点标记Marker--初体验(二)

    点标记Marker 创建一个默认图标的点标记: 创建一个自定义图标的点标记: new AMap.Marker({}) 参数说明 本文以Marker为主,其他点标记方法大差不差 通过上两篇文章我们已经了 ...

  6. 高德地图API路线规划

    高德地图API基础使用 高德地图API体验 申请Key 初体验 添加插件 点击事件返回地址值 两点之间获取驾车导航路线 高德地图API体验 申请Key 申请高德地图账号 登录后,应用管理下创建自己的应 ...

  7. 功能全面丰富优化 高德地图上线景区导览图及身边事功能

    近日,最新版高德地图迎来了功能更新,不仅在智慧景区服务中加入了景区导览图功能,还在"小区详情页"的基础上增加了新的新闻资讯入口,推出身边事功能,让你在更方便使用地图游览景区的同时, ...

  8. [LBS学习笔记 1]高德数据可视化初体验

    高德数据可视化初体验 背景 换了新工作,虽然还是java开发,但是之前搞做在线教育的,现在做地图相关的事.因此,花了些时间学了空间索引相关的内容,后期会写关于空间索引相关的内容,这期写地理数据可视化相 ...

  9. 全新界面改版+实用功能上线 高德地图新版全体验

    全国大部分地区已进入踏青季,为了让人们的出行更加便捷,国内领先的移动互联网地图软件高德地图推出了全新的7.6.6版本,从功能.体验.视觉三个方面都取得了突破性的改进.一目了然的是其UI界面有了很大的变 ...

最新文章

  1. skywalking告警相关配置
  2. WCF 第四章 绑定 netMsmqBinding
  3. 放弃winform的窗体吧,改用html作界面,桌面应用程序UI的新的开发方式。
  4. oracle 12 ORA-01262,oracle物理dg安装:方法二
  5. To 研究生,第一:做学位论文期间,不要有任何度假休息的打算;第二,导师错的时候不多;第三……...
  6. uni app map 地图 漂浮问题及方案
  7. 软考信息系统项目管理师_信息系统项目管理基础---软考高级之信息系统项目管理师009
  8. Oracle 升级(10.2.0.1 -- 10.2.0.4) 包含升级包
  9. Python抓取打印机硒鼓和组件剩余量的爬虫
  10. 计算机视觉图像去噪原理,图像去噪方法研究进展
  11. DataFrame创建程序利用字典创建dataframe对象
  12. vue中用echarts写条形图
  13. 易语言API HooK CreateThread创建线程
  14. JS - Promise使用详解--摘抄笔记
  15. Qt小例子学习52 - 卡片游戏
  16. 计算机键盘如何打字课件,教您如何熟悉键盘(打字指法)_计算机的基本知识_IT /计算机_信息...
  17. 关于线程同步的几种方法
  18. 在设备上开启telnet服务
  19. PCL1.10.1+VS2019+Qt5.14.2下载、安装及配置(强迫症福音~使用的软件均为最新版本)
  20. xp系统打印机服务器win7连接不了,xp不能访问win7共享打印机

热门文章

  1. 神经网络分类器的原理图,神经网络分类器是什么
  2. 持续集成、持续交付、持续部署
  3. Code::Blocks 的配色方案
  4. Linux新加硬盘挂载
  5. Alextnet网络
  6. Spring4:AOP
  7. (二)改掉这些坏习惯,还怕写不出优雅的代码?
  8. 加速想象力 AR/VR 训练营(无锡站)签约挂牌仪式成功举行
  9. Keras自定义损失函数出现:ValueError: Unknown loss function: focal_loss
  10. Python入门程序