GMap.NET的出现,解决了传统的依赖于地图引擎的代价高昂的解决方案,而且使用传统地图引擎,无法迁移,就连我们的地图放大缩小这样常规的方法,都是紧紧绑定在这些令人恶心的地图引擎开发包提供的SDK接口上,目前的Mapxtreme、 ArcEngine、SuperMap等,不仅开发方式迥异,而且收费昂贵。更要命的就是部署复杂,不适合常规的桌面GPS监控系统开发。而基于GMap.NET,基于一套方法,可以支持多个地图,不仅仅是谷歌,百度,ArcGIS地图也可以支持。

GMap.NET的开发,不仅省掉了地图的费用,而且节省了那些贪得无厌的地图引擎开发商的费用(我痛恨一切按点收费的软件,一个安装点公开报价在几万元,我总体软件也赚不了这些啊),狠狠打击了这些地图引擎商,让他们都去死吧。地图商也很贪得无厌,比如灵图、四维等,一套地图动不动都十几万,每年更新还要继续收取一大笔费用。淘宝上的盗版地图虽然便宜,但是不能用,都是2010年以前的,旧、点少、不规范,只能是垃圾。很多客户为问我,谷歌地图准吗,我都无奈的笑了,好像花钱买的地图就一定很准,真贱那。再说了,你要做什么?要导弹精确制导吗?每个地图都不敢说自己每个地方都准确无误,但是相比来说谷歌和百度都是国内最准确的地图。

围绕GMap.NET,我们一样可以开发出满足GPS监控要求的功能(完整源码+GPS纠偏插件 600元,需要购买的可以联系我2379423771@qq.com):

1.测距

2.图层管理

3.电子围栏

电子围栏不仅仅在于把围栏画出来,还在于进出围栏的基于几何算法的报警判断。

路线偏移,通过用户在界面上绘制路线,保存在数据库中,打开地图的时候自动生成路线,当车辆移动的时候,触发路线偏移报警。

4.历史轨迹

采用地图开发商自带的DLL GPS纠偏插件,可以直接转换,不需要数据库,更不用拆半和二分查询等影响性能的东西。

如下图所示,运行轨迹和谷歌地图道路非常吻合,精确度非常高。

5.地图鹰眼

6.比例尺

7.地图标注

GMap.NET的文字标注占用空间太大,不简洁,当地图图元比较多的时候,容易重叠不好看。因此写了一个类似于原生地图的文字标注,直接在图元正下方居中显示文字标注。非常清爽。

8.动画报警

可以在地图生成基于GIF动画格式的Marker,通过我们封装好的动画AnimationMarker库,可以很方便的随心所欲的选择各种动画GIF的Marker.经常用Mapxtrem开发的人知道这个在Mapxtreme上,对于图片的支持,非常弱智,不支持256色以上的PNG图片,跟不用说动画了。

9.省份轮廓

省份类GMapExt.MapArea,自动生成各个省份的轮廓。省份的行政区边界数据是从百度上导出的,数据非常完整,然后经过坐标转换,生成适合于谷歌地图的省的轮廓数据。

10.图片marker旋转

在地图上我们常常需要标注方向,如车辆在动态形式的时候,车辆图标要根据行驶的方向来不断的调整图片的旋转角度。在生成路线轨迹的时候,要根据轨迹的方向,来不断的旋转箭头图标。基于GMap.NET的画图系统,可以开发出基于角度的图片Marker.

GMap.NET二次开发库的更多相关文章

  1. ObjectARX二次开发创建自己的静态库,如同objectARX库一样

    objectARX二次开发的时候,经常会用到一些重复使用的类,如果类已经足够的好,那么我们可以编译成静态库,加快开发和编译的速度,提高工作效率. 环境vs2010+objectARX2012wizar ...

  2. 解析大型.NET ERP系统 窗体、查询、报表二次开发

    详细介绍Enterprise Solution 二次开发的流程步骤,主要包括数据输入窗体(Entry Form),查询(Query/Enquiry),报表(Report)三个重要的二次开发项目. 数据 ...

  3. Openstack Murano(kilo)二次开发之添加Volume

    Openstack Murano(kilo)二次开发之添加Volume 欢迎转载,转载请注明出处:http://www.cnblogs.com/fmnisme/p/openstack_murano_a ...

  4. Android VLC播放器二次开发1——程序结构分析

    最近因为一个新项目需要一个多媒体播放器,所以需要做个视频.音频.图片方面的播放器.也查阅了不少这方面的资料,如果要从头做一个播放器工作量太大了,而且难度也很大.所以最后选择了VLC作为基础,进行二次开 ...

  5. ECSHOP二次开发指南

    ECSHOP二次开发指南 发布时间:2013-05-28 12:47:00   来源:   评论:0 点击: 次 [字号:大 中 小] QQ空间新浪微博腾讯微博人人网豆瓣网百度空间百度搜藏开心网复制更 ...

  6. magento二次开发的基本步骤分享

    Magento后台添加新模块的体会 确定命名空间(Namespace)和模块(Modulename)的命名: 在app/etc/modules/ 路径下,创建 Namespace_Modulename ...

  7. 研究QGIS二次开发笔记(一)

    为了在QT程序中嵌入一个地图,最终选择了QGIS来干这件事.选型阶段真是呵呵.我折腾的是QGIS2.4.0. 首先,到官方网站下载安装QGIS.如果你跟我一样懒的话,可能希望下载一个已经编译好的win ...

  8. SPSS二次开发

    在以前关于SPSS二次开发文章中留下过自己联系方式,差不多一年的时间,零零散散的和我取得联系的人也有几十位,看来对于SPSS二次开发的需求不少. Web SPSS系统是利用SPSS二次开发技术,使用户 ...

  9. Delphi 二次开发 CorelDRAW

    我们首先通过一个简单的程序例子来看一下Delphi对CorelDRAW二次开发有什么样的效果.本程序实现CorelDRAW程序的打开和关闭. 1.1 Delphi与CorelDRAW连接 在程序与Co ...

随机推荐

  1. PDO连接数据库

    PDO连接数据库 PDO简介和配置 php.ini extension=php_pdo.dll extension=php_pdo_myysql.dll PDO连接MYSQL new PDO(&quo ...

  2. 自动提交Git branch代码评审到Review Board系统

    背景 敏捷软件开发中,越小的反馈环,意味着软件质量越容易得到保证. 作为组件团队,我们的开发任务中,往往存在一些特性涉及到几十个功能点,开发周期持续数周或数月的情况.如何在开发过程中保证软件质量,是个 ...

  3. NOIp #2009

    http://files.cnblogs.com/files/radiumlrb/NOIP2009%E6%8F%90%E9%AB%98%E7%BB%84%E5%A4%8D%E8%B5%9B%E8%AF ...

  4. 【BZOJ】3309: DZY Loves Math

    题意 \(T(T \le 10000)\)次询问,每次给出\(a, b(1 \le a, b \le 10^7)\),求 \[\sum_{i=1}^{a} \sum_{j=1}^{b} f((i, j ...

  5. CSS:在IE浏览器下,元素下沉一行的解决办法

    HTML: <ul> <li><a href="">嘻嘻嘻嘻嘻嘻</a><span>2015-12-17</spa ...

  6. 2016 CCPC 东北地区重现赛

    1. 2016 CCPC 东北地区重现赛 2.总结:弱渣,只做出01.03.05水题 08   HDU5929 Basic Data Structure    模拟,双端队列 1.题意:模拟一个栈的操 ...

  7. js中addEventListener中第3个参数

    addEventListener中的第三个参 数是useCapture, 一个bool类型.当为false时为冒泡获取(由里向外),true为capture方式(由外向里). <div id=& ...

  8. 使用WWW获取本地文件夹的XML配置文件

    Unity3D读取本地文件可以使用Resources.Load来读取放在Resources文件夹下的文件,如果不是放在该文件夹下,则可以通过WWW类来读取. 譬如读取xml的配置文件. /// < ...

  9. 20145205 《Java程序设计》第8周学习总结

    教材学习内容总结 第十五章 通用API 15.1 日志 日志API简介 java.util.logging包提供了日志功能相关类与接口,不必额外配置日志组件,就可在标准Java平台使用是其好处.使用日 ...

  10. Unity学习疑问记录之脚本生命周期

    总的来说unity的脚本生命周期分几个部分:编辑→初始化→游戏逻辑→渲染→GUI→Teardown首先是Reset,顾名思义:重置.在什么情况下调用呢?1.用户第一次添加组件时.2用户点击见组件面板上 ...