开发工具与关键技术: GIS技术、MVC
作者:邓婵
撰写时间: 2019年1月24日

一、 功能实现
说明:这里是通过点击面积测量按钮在地图上绘制你所需要的某个区域面积,然后根据你所绘制的区域进行量算,弹出模态框显示绘制区域范围的面积

功能如下所示:

注:之前我犯过一个错误就是当我每点击一次面积测量时它并没有去除上一次测量的结果,而我点击第二次是它依然是显示第一次结果。原来我在面积测量点击事件中并没有写移除面积查询的代码,所以我才犯这样的错误,要记得当我们每一次点击时都要把上一次的图层要素移除掉,要不然也会和我犯同样的错误!
二、相关代码

       styleMJ = {strokeColor: "#304DBE",strokeWidth: 2,pointerEvents: "visiblePainted",fillColor: "#fff",fillOpacity: 0.3},url = "http://localhost:8090/iserver/services/map-ShenZhenBaoAnQu/rest/maps/深圳宝安区";//创建对象function onPageLoad() {// 初始化地图map = new SuperMap.Map("map", {controls: [//控件参数//  new SuperMap.Control.LayerSwitcher(),//图层选择控件类。 用于控制地图中的图层可见性。new SuperMap.Control.ScaleLine(),//比例尺控件。默认位置为地图左下角。new SuperMap.Control.PanZoomBar(),//平移缩放类。 用于平移缩放地图,默认情况下垂直显示在地图左上角。new SuperMap.Control.LayerSwitcher(),//博士帽图标new SuperMap.Control.Navigation({//此控件处理伴随鼠标事件(拖拽,双击、鼠标滚轮缩放)的地图浏览, 如果创建地图时没有设置任何控件,此控件会默认添加到地图dragPanOptions: {enableKinetic: true//设置是否使用拖拽动画。默认为false,不使用动画。}})]});//初始化图层(定义layerWorld图层,获取图层服务地址)layer = new SuperMap.Layer.TiledDynamicRESTLayer("宝安区_region", url, null, { maxResolution: "auto" });//新建查询面积的矢量图层polygonLayer = new SuperMap.Layer.Vector("polygonLayer");polygonLayermzj = new SuperMap.Layer.Vector("polygonLayermzj");//对面图层应用样式style(前面有定义)polygonLayer.style = styleMJ;//创建画面控制,图层是polygonLayerdrawPolygon = new SuperMap.Control.DrawFeature(polygonLayer, SuperMap.Handler.Polygon);drawPolygon.events.on({ "featureadded": drawCompletedDrawPolygon });map.addControl(drawPolygon);//监听图层信息加载完成事件(为图层初始化完毕添加layerInitialized事件)layer.events.on({ "layerInitialized": addLayer });}//异步加载图层function addLayer() {map.addLayers([layer]);//显示地图范围map.setCenter(new SuperMap.LonLat(113.86, 22.6), 3.6);}
//测面积
function mapMeasurementArea(t) { polygonLayer.removeAllFeatures();//移除图层要素    drawPolygon.activate();$("liangshujieguo").innerHTML = "";$('#Diastimeter').attr('style', 'display:none');polygonLayer.removeAllFeatures();//移除面积查询图层   // clearElementsmzj();
}function drawCompletedDrawPolygon(drawGeometryArgs) {//停止画面控制drawPolygon.deactivate();//获得图层几何对象var geometry = drawGeometryArgs.feature.geometry,measureParam = new SuperMap.REST.MeasureParameters(geometry), /* MeasureParameters:量算参数类。 客户端要量算的地物间的距离或某个区域的面积*/myMeasuerService = new SuperMap.REST.MeasureService(url); //量算服务类,该类负责将量算参数传递到服务端,并获取服务端返回的量算结果myMeasuerService.events.on({ "processCompleted": measureCompleted, "processFailed": processFailed111 });//对MeasureService类型进行判断和赋值,当判断出是LineString时设置MeasureMode.DISTANCE,否则是MeasureMode.AREAmyMeasuerService.measureMode = SuperMap.REST.MeasureMode.AREA;myMeasuerService.processAsync(measureParam); //processAsync负责将客户端的量算参数传递到服务端。
}
//测量结束调用事件
function measureCompleted(measureEventArgs) {var area = measureEventArgs.result.area,unit = measureEventArgs.result.unit;$('#liangshujieguo').text(parseInt(area) + "平方米");$('#Diastimeter').attr('style', 'display:block');
}
function processFailed111(er) {//console.log(er);
}

深圳市宝安区慢性病地理信息系统——“面积测量”相关推荐

  1. 3D-GIS地理信息系统研发解决方案

    (一)主要研究开发内容 空间数据的获取是GIS建设与运行的基础,数据源及数据获取方式的不同,对数据模型的生成产生很大的影响,如何根据不同的需要,采取合适的方法来获取数据,以及如果保证数据的精确度,最终 ...

  2. 参加海峡两岸城市地理信息系统论坛2010 年会(一张图、规划信息化和空间句法的碎碎念)...

    上周末去清华建筑学院开了个会,叫做海峡两岸城市地理信息系统论坛2010 年会,主题很大,但是内容比较集中一些,就是围绕着GIS与城市规划.一天下来听了20个报告,挺佩服主办方的时间控制,这么密集的报告 ...

  3. 地理信息系统控件GIS控件TatukGIS Developer Kernel 下载及介绍

    2019独角兽企业重金招聘Python工程师标准>>> 原文来自龙博方案网http://www.fanganwang.com/product/1348转载请注明出处 TatukGIS ...

  4. 未来科技 HoloLens演示3D地理信息系统

    未来科技 HoloLens演示3D地理信息系统2016-04-21 05:41:00 来源:中关村在线 作者:中关村在线 张弘韬 GIS的中文名称是地理信息系统,是一种特定的十分重要的空间信息系统,它 ...

  5. ArcGIS地理信息系统空间分析实验教程第一章 导论

    完整的地理信息系统主要由四个部分构成,即硬件系统.软件系统.地理空间数据和系统管理操作人员. (1)   构成计算机硬件系统的基本组件包括输入/输出设备.中央处理单元.存储器等,这些硬件组件协同工作, ...

  6. 《ArcGIS Engine 地理信息系统开发从入门到精通(第二版)》——6.7 本章小结

    本节书摘来自异步社区<ArcGIS Engine 地理信息系统开发从入门到精通(第二版)>一书中的第6章,第6.6节,作者: 邱洪钢 , 张青莲 , 熊友谊 更多章节内容可以访问云栖社区& ...

  7. 关于地理信息系统(GIS)的几个问题

    进入21 世纪以后,地理信息系统主要的基础理论和技术研究热点有了新的变化, 代表了地理信息系统研究的新进展,主要归纳如下: 3.1 稳定.快速的GIS 数据采集和数据更新体系    GIS 数据的来源 ...

  8. 地理信息系统(GIS)

    地理信息系统又称GIS(Geographic information system)系统. GIS 是一门综合性学科,已经广泛的应用在不同的领域,是用于输入.存储.查询.分析和显示地理数据的计算机系统 ...

  9. 中科燕园arcgis外包----排水管网地理信息系统

    项目背景 绍兴县是浙江省第一个"数字城管"试点城市,也是全国第一个"数字城管"县级城市.随着经济的飞速发展.城市化步伐的加快,以及城市规模的扩大和现代化程度的不 ...

  10. 抗击海冰 地理信息系统来帮忙

    对广大生活在沿海地区的居民来讲,冬天里除了要经受大风和低温的考验外,还多了一项担忧--海冰灾害.什么是海冰?狭义来讲,是指海水结成的冰.但广义地讲,海冰是浮在海上的冰的总称,不仅包括海水冻结的冰,也包 ...

最新文章

  1. java 抽象方法 虚方法的区别_声明抽象类(纯虚方法)会大幅增加二进制大小
  2. springmvc json 406
  3. linux 删除node进程,关于node.js:杀死Linux中的节点进程
  4. C++ Primer Plus学习(六)——分支语句和逻辑运算符
  5. 46. Element isEqualNode() 方法
  6. 爱尚QQ网修改QQ在线机型源码
  7. 「建模学习」3DsMAX贴图制作方法,足球贴图案例详细教程
  8. 2017互联网寒冬程序员求职随感
  9. Request method ‘PUT‘ not supported
  10. Bootstrap-03 (前台开发框架)
  11. 《西游记》中师徒四人的形象探究及现实意义
  12. 趣头条递交招股书 将冲刺移动内容聚合第一股
  13. GPU加速(一)CUDA C编程及GPU基本知识
  14. 如何用项目甘特图,做好项目汇报
  15. 陆源:阿贝尔对椭圆函数论的贡献[附椭圆函数、模形式(g_2,g_3)、模函数的C++程序计算]
  16. java外加IJ-idea的初次学习
  17. 【Html】段落排版--行间距(行高)
  18. 装完 Ubuntu 安装常用的软件
  19. 观复嘟嘟:职场是个技术活-马未都
  20. 零代码制作客制化87键机械键盘

热门文章

  1. Tableau学习摘录总结③(行级别合并:并集、连接与Desktop方法、视图级别合并:数据混合与Desktop方法、使用Prep Builder做数据合并、如何选择数据合并方式、数据模型:数据关系)
  2. Unity3D的事件函数
  3. AGL UCB 14 平台发布增加 Flutter 更新;在 Automotive Linux 峰会和 CES 上提供演示
  4. vissim4.3 自动更改系统时间
  5. 招投标系统简介 招投标系统源码 java招投标系统 招投标系统功能设计 tbms
  6. postgresql和Oracle中几种循环结构示例
  7. 中科院计算机学院brt,厦门软件学院{集美后溪那,中科院BRT站,}怎么到高崎机场,BRT路线。 紧急求解。...
  8. 北大自主命题计算机基础,北大考研辅导班-2021北京大学869计算机基础综合考研真题...
  9. qt 控件添加图标图片
  10. SimpleDateFormat的pase与format方法