GMap.NET二次开发库
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二次开发库的更多相关文章
- ObjectARX二次开发创建自己的静态库,如同objectARX库一样
objectARX二次开发的时候,经常会用到一些重复使用的类,如果类已经足够的好,那么我们可以编译成静态库,加快开发和编译的速度,提高工作效率. 环境vs2010+objectARX2012wizar ...
- 解析大型.NET ERP系统 窗体、查询、报表二次开发
详细介绍Enterprise Solution 二次开发的流程步骤,主要包括数据输入窗体(Entry Form),查询(Query/Enquiry),报表(Report)三个重要的二次开发项目. 数据 ...
- Openstack Murano(kilo)二次开发之添加Volume
Openstack Murano(kilo)二次开发之添加Volume 欢迎转载,转载请注明出处:http://www.cnblogs.com/fmnisme/p/openstack_murano_a ...
- Android VLC播放器二次开发1——程序结构分析
最近因为一个新项目需要一个多媒体播放器,所以需要做个视频.音频.图片方面的播放器.也查阅了不少这方面的资料,如果要从头做一个播放器工作量太大了,而且难度也很大.所以最后选择了VLC作为基础,进行二次开 ...
- ECSHOP二次开发指南
ECSHOP二次开发指南 发布时间:2013-05-28 12:47:00 来源: 评论:0 点击: 次 [字号:大 中 小] QQ空间新浪微博腾讯微博人人网豆瓣网百度空间百度搜藏开心网复制更 ...
- magento二次开发的基本步骤分享
Magento后台添加新模块的体会 确定命名空间(Namespace)和模块(Modulename)的命名: 在app/etc/modules/ 路径下,创建 Namespace_Modulename ...
- 研究QGIS二次开发笔记(一)
为了在QT程序中嵌入一个地图,最终选择了QGIS来干这件事.选型阶段真是呵呵.我折腾的是QGIS2.4.0. 首先,到官方网站下载安装QGIS.如果你跟我一样懒的话,可能希望下载一个已经编译好的win ...
- SPSS二次开发
在以前关于SPSS二次开发文章中留下过自己联系方式,差不多一年的时间,零零散散的和我取得联系的人也有几十位,看来对于SPSS二次开发的需求不少. Web SPSS系统是利用SPSS二次开发技术,使用户 ...
- Delphi 二次开发 CorelDRAW
我们首先通过一个简单的程序例子来看一下Delphi对CorelDRAW二次开发有什么样的效果.本程序实现CorelDRAW程序的打开和关闭. 1.1 Delphi与CorelDRAW连接 在程序与Co ...
随机推荐
- TypeScript中的枚举类型
TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...
- Codeforces 307 div2 E.GukiZ and GukiZiana 分块
time limit per test 10 seconds memory limit per test 256 megabytes input standard input output stand ...
- Android之UI编程(二):表格布局
表格布局(TableLayout)继承了LinearLayout,它的本质依然是线性布局管理器,表TableLayout采用行.列的形式来管理UI组件,它并不需要明确地声明暴行多少行.多少列,而是通过 ...
- VR技术驱动智慧旅游,自由漫步西湖不是梦
虚拟现实技术是今年最热门的科技之一,不少行业都在嫁接VR功能,其中旅游业也具备这方面的优势.VR+旅游,能让你足不出户即可感受清净唯美的名胜古迹.据591ARVR资讯网www.591arvr ...
- 【JAVA】 Java 连接池的工作原理
什么是连接? 连接,是我们的编程语言与数据库交互的一种方式.我们经常会听到这么一句话“数据库连接很昂贵“. 有人接受这种说法,却不知道它的真正含义.因此,下面我将解释它 ...
- Openfire3.9.3源代码导入eclipse中开发配置指南
这篇文章向大家介绍一下,如何把openfire3.9.3源码导入eclipse中,编译并启动的详细过程. 首先得感谢这篇文章的作者,http://www.micmiu.com/opensource/o ...
- 经典.net面试题目
1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保 ...
- jquery 抽奖示例
jquery 抽奖示例: <%@ page language="java" import="java.util.*" pageEncoding=" ...
- C# 转换符的重载 显示、隐式转换
class Complex { //保存转换的值 Int32 v; public Complex(Int32 x) { v = x; } public Int32 ToInt32() { return ...
- UUID
首先我们要知道UUID是什么?有什么用?为什么要使用它? UUID是什么? UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定.如此一来,每个 ...