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 ...
随机推荐
- 数据类型和Json格式
1. 前几天,我才知道有一种简化的数据交换格式,叫做yaml. 我翻了一遍它的文档,看懂的地方不多,但是有一句话令我茅塞顿开. 它说,从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一 ...
- linux下 html转pdf
其实很简单的, 在当前文件夹中打开终端, 只需要一个命令就好 wkhtmltopdf test.html test.pdf 这样一个test.html的文件就转为test.pdf 的pdf文件啦!
- <base>元素
HTML <base> 元素 <base> 标签描述了基本的链接地址/链接目标,该标签作为HTML文档中所有的链接标签的默认链接: <head><base h ...
- Python爬虫学习(1): urllib的使用
1.urllib.urlopen 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作 In [1]: import urllibIn [2]: file = urllib.urlo ...
- hdu4135 容斥定理
Co-prime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- java并发编程(四)守护进程 线程阻塞的四种情况
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17099981 守护线程 Java中有两类线程:User Thread(用户线程).Da ...
- Android 四大护法之一 Service
1.Service的概念 Service是Android 四大组件之一,是默认没有界面的运行于后台的服务程序.Service的开启方式分为启动式服务(startService)和绑定式服务(bindS ...
- fnc.tld学习编写
使用 el 的过程中,需要使用到后端代码处理逻辑,这个时候我们就需要自定义 方法. 如我们后端代码定义如下: package com.rhythmk.common; public class FncH ...
- 安卓中級教程(6):annotation的基本用法
package com.example.ele_me.activity; import android.annotation.SuppressLint; import android.app.Acti ...
- uwsgi 安装配置
安装uwsgi# pip install uwsgi 配置uwsgi:首先要明确的是,如果你喜欢用命令行的方式(如shell)敲命令,那可以省去任何配置.但是,绝大多数人,还是不愿意记那么长的命令,反 ...