在项目中需要使用类似GIS效果的地图,考虑到高德开放平台关于云图的便利性,便利用官网和网上的例子,进行了初步实现。

1.带3D效果:

2.代码:

<!doctype html>
<html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"><title>编辑多边形</title><script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.14&key=760d16c25fa8ee3c547b693a6c414821&plugin=Map3D,AMap.DistrictSearch"></script><style>html,body,#container {margin: 0;height: 100%;}</style>
</head>
<body><div id="container"></div><script>var mask = [];var map = new AMap.Map('container', {mask: mask,resizeEnable: true,zoom: 12,viewMode: '3D',center: [121.124178, 31.150681],mapStyle: 'amap://styles/5a2dbb143362de08809a8aebe25ca455',//layers: [//    new AMap.TileLayer.RoadNet({//        zIndex: 20//    })]//,// new AMap.TileLayer({//   zIndex: 6,// opacity: 1,//getTileUrl: 'https://t{1,2,3,4}.tianditu.gov.cn/DataServer?T=ter_w&x=[x]&y=[y]&l=[z]'//getTileUrl: 'https://t{s}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=5ecfe4e0cecdafec9a858e37c261084c'//})]});map.plugin('AMap.CloudDataLayer', function () {var layerOptions = {query: { keywords: '' },clickable: true};var cloudDataLayer = new AMap.CloudDataLayer('5cbec0902376c10e3dec70d6', layerOptions); //实例化云图层类cloudDataLayer.setMap(map); //叠加云图层到地图});new AMap.DistrictSearch({extensions: 'all',subdistrict: 0}).search('青浦区', function (status, result) {// 外多边形坐标数组和内多边形坐标数组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),];var holes = result.districtList[0].boundariesvar pathArray = [outer];for (var i = 0; i < holes.length; i += 1) {mask.push([holes[i]])}pathArray.push.apply(pathArray, holes)var polygon = new AMap.Polygon({pathL: pathArray,strokeColor: '#00eeff',strokeWeight: 1,fillColor: '#71B3ff',fillOpacity: 0.5});polygon.setPath(pathArray);map.add(polygon);var bounds = map.getBounds(); // 获取显示范围map.setLimitBounds(bounds); // 限制地图显示范围var object3Dlayer = new AMap.Object3DLayer({ zIndex: 1 });map.add(object3Dlayer)var height = -8000;var color = '#0088ffcc';//rgbavar wall = new AMap.Object3D.Wall({path: holes,height: height,color: color});wall.transparent = trueobject3Dlayer.add(wall)});</script></body>
</html>

3.不带3D效果。带弹窗

4.代码:

<!doctype html>
<html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"><title>编辑多边形</title><script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.14&key=760d16c25fa8ee3c547b693a6c414821&plugin=AMap.DistrictSearch,Map3D"></script><script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script><style>html,body,#container {margin: 0;height: 100%;}</style>
</head>
<body><div id="container"></div><script>var map = new AMap.Map('container', {resizeEnable: true,zoom: 12,viewMode: '3D',center: [121.124178, 31.150681],mapStyle: 'amap://styles/5a2dbb143362de08809a8aebe25ca455',//layers: [//    new AMap.TileLayer.RoadNet({//        zIndex: 20//    })]//,// new AMap.TileLayer({//   zIndex: 6,// opacity: 1,//getTileUrl: 'https://t{1,2,3,4}.tianditu.gov.cn/DataServer?T=ter_w&x=[x]&y=[y]&l=[z]'//getTileUrl: 'https://t{s}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=5ecfe4e0cecdafec9a858e37c261084c'//})]});new AMap.DistrictSearch({extensions: 'all',subdistrict: 0}).search('青浦区', function (status, result) {// 外多边形坐标数组和内多边形坐标数组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),];var holes = result.districtList[0].boundariesvar pathArray = [outer];pathArray.push.apply(pathArray, holes)var polygon = new AMap.Polygon({pathL: pathArray,strokeColor: '#00eeff',strokeWeight: 1,fillColor: '#71B3ff',fillOpacity: 0.5});polygon.setPath(pathArray);map.add(polygon);var bounds = map.getBounds(); // 获取显示范围map.setLimitBounds(bounds); // 限制地图显示范围});map.plugin('AMap.CloudDataLayer', function () {var layerOptions = {query: { keywords: '' },clickable: true};var cloudDataLayer = new AMap.CloudDataLayer('5cbec0902376c10e3dec70d6', layerOptions); //实例化云图层类cloudDataLayer.setMap(map); //叠加云图层到地图AMap.event.addListener(cloudDataLayer, 'click', function (result) {var clouddata = result.data;var photo = [];if (clouddata._image[0]) {//如果有上传的图片photo = ['<img width=240 height=100 src="' + clouddata._image[0]._preurl + '"><br>'];}var infoWindow = new AMap.InfoWindow({content: "<font class='title'>" + clouddata._name + "</font><hr/>" + photo.join("") + "地址:" + clouddata._address + "<br />" + "联系电话:" + clouddata.telephone + "<br />" + "经纬度:" + clouddata._location,size: new AMap.Size(0, 0),autoMove: true,offset: new AMap.Pixel(0, -25)});infoWindow.open(map, clouddata._location);console.log(clouddata._name);});});</script></body>
</html>

不足:无法实现在云图中添加文本标签,无法标记这些点的名称,而是需要设置弹窗点击事件。要是有完成这部分的烦请留言,不胜感激。

高德开放平台实现区域地图+云图标记相关推荐

  1. 高德开放平台与360儿童手表达成合作,全球数据助力第三方企业

    3月29日下午,国内互联网安全企业 360 对外发布了全新儿童春季智能新品.360 儿童手表与国内领先的 LBS 服务提供商高德开放平台达成合作,可通过定位等多项功能,让家长随时掌握孩子的动态,保障儿 ...

  2. python爬取地图上的经纬度_使用高德开放平台api批量爬取所需经纬度及位置信息(平台教程和python多进程、多线程代码详解)...

    2019.3.20更新(将代码升级为非阻塞式多进程,效率极大提升) 2019.6.28更新 (将代码模块化,复用性更强,使用更高效的线程池进行爬取) 之前写爬虫对链家某地区全部二手房信息进行了获取并存 ...

  3. mysql高德地图设计_基于高德开放平台Map Lab的数据可视化

    在Map Lab上创建可视化项目,首先需要添加数据.添加数据有4种方式,分别是: 上传CSV文件添加数据 上传Excel文件添加数据 连接在线数据库添加数据 提供在线数据API添加数据 一.数据上传说 ...

  4. 高德开放平台发布“GAIA计划”,打造“组件式”解决方案

    今日,高德开放平台在北京举办2018战略说明会,正式对外发布了"GAIA计划",宣布将为合作伙伴提供针对包括网约车.海外.货运.游戏等行业"组件式"的垂类解决方 ...

  5. 高德开放平台定位功能对接

    [高德开放平台] 定位对接 萌璐琉璃 https://www.jianshu.com/p/312287e25444 目标 对接高德开放平台的定位接口 依赖 <!-- httpclient 工具类 ...

  6. 高德天气 php,高德开放平台天气查询API

    更多内容,请查看博客原文:高德开放平台天气查询API https://finolo.gy/2020/01/高德开放平台天气查询API/ 高德开放平台下的天气查询接口文档 https://lbs.ama ...

  7. 接入高德开放平台实现地址转换为经纬度坐标

    高德地图API 1 地址转为经纬度 后台人员填写完房源详情地址后,由此地址转为,电子地图中的经纬度.从而方便日后前台在电子地 图中的标识显示. 高德地图开放平台:https://lbs.amap.co ...

  8. python高德 查询县_Python和高德开放平台——地名地址空间化及采集POI信息

    上一篇我们介绍微博开放平台时说道了通过高德开放平台获取地名地址的坐标,今天我们来说一说怎么使用高德开放平台查询相关关键词的地址坐标,或者采集学校.医院.餐厅.公园.企业等POI的信息. 高德开放平台h ...

  9. 高德开放平台天气查询API

    更多内容,请查看博客原文:高德开放平台天气查询API https://finolo.gy/2020/01/高德开放平台天气查询API/ 高德开放平台下的天气查询接口文档 https://lbs.ama ...

最新文章

  1. PyTorch中的MIT ADE20K数据集的语义分割
  2. 装上螺旋桨,加州理工让只能行走的双足机器人「上了天」,还玩起了障碍滑板、走绳索...
  3. python3生成器_Python3 生成器
  4. mysql多个on_在多个查询中插入多行的MySQL ON DUPLICATE KEY UPDATE
  5. ase加密放linux报错_Linux应用安装有福啦!和苹果Mac一样方便的单文件安装
  6. jzoj6276-[Noip提高组模拟1]树【线段树,扫描线,倍增】
  7. python输入代码如何清除_Bug清除手册-代码书写规范与基本使用(Python)
  8. P1481 魔族密码 (LIS)
  9. Java校招笔试题-Java基础部分(五)
  10. 8、QuickExec命令行的使用
  11. DNS解释问题:java.net.UnknownHostException
  12. Python-snap7 安装和测试
  13. 计算机文件不能复制到u盘,大文件无法复制到u盘里解决方法
  14. 悬臂梁振动方程及仿真
  15. avaya基本配置方法
  16. 个股短、中线技术形态判定
  17. Python数据分析培训班介绍
  18. 仪表和中控车机GUI界面开发工具介绍
  19. Android保存图片到手机相册(res下的图片,网络图片都可以)
  20. Asset Store上常用的40个Unity插件汇总——进阶开发者必备Unity插件

热门文章

  1. 测试人生的最大危机不是 35 岁,是你工作3年的那道坎儿
  2. 摸索 Jenkins 的自动维护方案
  3. 一个程序员的日常书单(更新于2018/10/7)
  4. 武汉理工计算机网络,计算机网络实验武汉理工大学
  5. c位边上还有什么位_章泽天聚会站边位,被称太委屈,看清C位的万宝宝后就明白了...
  6. 一键安装google服务框架(更新最新版google市场)
  7. 计算机职业资格证书有哪些
  8. 计算机专业可以考哪些资格证书,计算机专业的人可以考哪些职业资格证书?
  9. jenkins使用python脚本发送企业微信通知
  10. Freedom and discipline