全球定位设备软件

原文地址: http://www.codeproject.com/Articles/502502/Global-Positioning-Device-Softwar

介绍

我们需要开发一个应用程序绘制放置在车辆或集装箱等设备的位置,对于一个给定的间隔时间和日期,超过在C#。NET基于软件的地图

背景

我们正在做的工业电子工程IIEE形式,卡拉奇,巴基斯坦。这个项目的想法来到时,我们参观了一个电子项目展览,在那里我们看到了一个项目,显示在LCD上使用的GPS模块的经度和纬度。这启发我们能够建立一个便携/无线设备,可以记录其GPS坐标使用手机连接到它。我们开始工作,但我们尊敬的先生SAJID侯赛因走近我们的考试给了我们一个使用C#开发一个软件项目这是我们的项目确实得到了它的形状。我们决定将我们的C#项目与GPS项目,使一个软件,它可以检测并绘制我们的GPS设备的位置。爵士SAJID侯赛因给我们的想法,包括一个GSM模块在Web服务器上的更新我们的设备的位置,我们的软件从哪里得到的数据,在地图上和情节。软件多个设备定制。  

“守则”

在此项目中的代码可以被分为三个部分。

  1. GMAP.NET。
  2. HTTP的Web请求(System.NET)。
  3. XCoolForms为Windows(附加功能)。

GMAP.NET 

代码使用GMap.NET.dll GMap.NET.WindowsForms.dll控件添加到XCoolForms的,它是很容易和简单易用。首先,GMapControls需要使用初始化:

巴“gMapControl1.SetCurrentPositionByKeywords ; / / 国家重点加载地图后
 gMapControl1.gMapProvider = GMapProviders.GoogleMap; / / 地图提供商
 gMapControl1.MapScaleInfoEnabled = TRUE ;
gMapControl1.ForceDoubleBuffer =  ;
gMapControl1.RoutesEnabled =  ; / / 地图路线
 gMapControl1.MinZoom = 2 ;      / / 最小缩放级别
 gMapControl1.MaxZoom = 26 / / 最大缩放级别
 gMapControl1.Zoom = 10 / / 初始缩放级别
 gMapControl1.DragButton = MouseButtons左/ / 鼠标按钮用于拖动地图

在地图上放置一个标记

=的 GMapOverlay(gMapControl1 myOverlay1“); GMapOverlay myOverlay1 / / 构造对象
一个新的标记在:覆盖 
 gMapControl1.Overlays.Add(myOverlay1)/ / 添加myOverlay1控制

从服务器中取回的数据

下面的请求将返回数据从服务器存储GPS设备,并保存它作为一个字符串。

WebRequest的请求= WebRequest.Create( http://www.Abc ......“); / / 如果服务器的要求,设置凭据。
 request.Credentials = CredentialCache.DefaultCredentials; / / 获取响应。
 WebResponse的响应= request.GetResponse()/ / 显示状态,
了Console.Writeline(((HttpWebResponse),的响应)。状态说明); / / 获取流内容服务器返回的
数据流= response.GetResponseStream()/ / 开启流使用一个StreamReader为方便。
 StreamReader的读卡器= 的StreamReader(数据流); / / 读取的内容。 
  responseFromServer = reader.ReadLine()/ / 显示的内容。

在地图上绘制路线

路线GMapOverlay =的 GMapOverlay(gMapControl1, 航线“/ / 构建对象为:覆盖
 gMapControl1.Overlays.Add(航线);
列表<PointLatLng>列表= 名单<PointLatLng>()/ / 坐标列表绘制
将对List.Add( PointLatLng(32 710525233333 51 709773683333));
将对List.Add( PointLatLng(32 711725983333 51 704725066667));
将对List.Add( PointLatLng(32 713785566667 51 66982365));
GMapRoute R =  GMapRoute(列表,myroute“); / / 对象路由
 r.Stroke.Width = 5 ;
r.Stroke.Color = Color.Red;
routes.Routes.Add(R);
gMapControl1.ZoomAndCenterRoute(R);
gMapControl1.Zoom = 15 ;

工具提示 

为了显示相关信息的指针,我们需要添加工具提示功能。可以添加使用这些代码段:

GMapOverlay myOverlay1 =的 GMapOverlay(gMapControl1, myOverlay1“);   
GMapMarkerGoogleGreen CurrentMarker;
CurrentMarker =:新的 GMap.NET.WindowsForms.Markers.GMapMarkerGoogleGreen(: PointLatLng(纬度,经度));
CurrentMarker.ToolTipMode = MarkerTooltipMode.OnMouseOver;
CurrentMarker.ToolTipText = 你的文字在这里!“
myOverlay1.Markers.Add(CurrentMarker);
gMapControl1.Overlays.Add(myOverlay1);

附加功能

XCoolForms

虽然这是没有必要的,我们希望我们的面色晦暗形式加一点颜色,所以我们决定增加XCoolForms,为windows在我们的项目中,我们得到了从http://www.codeproject.com/Articles/33716/Fancy Windows的表格这不是我们的项目的一个重要组成部分,我们只是想添加一些颜色,此功能的代码和说明,可以发现在给定的链路。

自定义标记

作为附加的功能,我们还增加了自定义标记在地图红点,蓝点和箭头等。为此,我们得到一个定制标记类http://www.codeproject.com/Articles/32643/GMap-NET-Great-Maps-for-Windows-Forms-and-Presenta的

兴趣点 

设备,我们将工作的任何地方,只要从GSM供应商的遗体信号强度。 

许可证

本文以及任何相关的源代码和文件许可下的代码项目的Open License(CPOL)

作者简介:

sajidhussainbaloch
教师/培训师 
巴基斯坦
提供无传记

UMAIR Mukati

巴基斯坦 巴基斯坦
提供无传记


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值