GoogleMapsAPI在物流运输管理系统的应用

2010年第32卷第4期总第190期物流工程与管理
LO G I ST I C S EN G I N EER I N G AND MANAGE M EN T
物流技术
do i :10.3969/j .is sn.1674-4993.2010.04.026
Google Maps AP I 在物流运输管理系统的应用
3
□翦象慧,邓子云,黄友森
(湖南现代物流职业技术学院,湖南 长沙 410131)
【收稿日期】2010-03-20
3基金项目:湖南省“十一五”科技攻关重点课题基于S OA -BP M 组合架构的智能敏捷的第三方物流管理信息技术研究。【作者简介】翦象慧,湖南现代物流职业技术学院物流信息系。
【摘 要】Google Map s AP I 是Google 推出编程AP I,Google M ap s JavaScri p t AP I 允许使用者把Google 地图嵌入到自己的网页内,利用AP I 所提供的函数导入所需电子地图,完成地图中点、线、标记、交通线等对象的设置。文中着重从叠加层的设计、控件的设计、电子地图的显示设置以及与运输管理系统中的数据关联等方面进行了阐述。
【关键词】图层;叠加层;运输;电子地图
【中图分类号】 F506    【文献标识码】 B     【文章编号】 1674-4993(2010)04-0071-04
Google M aps AP I i n the L og isti cs Tran sport a ti on M anage m en t Syste m
J I A N Xi ang -hu i,D EN G Zi -yun,HUAN G Yo u -sen
(Hunan Mo de rn Lo g isti c s O ccup a ti o n Te chn i ca l Co ll e ge ,C hang sha 410131,C h i na )
【Abstract 】Google M ap s AP Iwas Google launched p r ogra mm ing AP I,Google M ap s JavaScri p t AP I all ows users t o e mbed
Google Map s int o your website,use the functi on p r ovided by the AP I t o i m port the required electr onic map,comp lete map of the m id -point,line,mark,lines and other objects of the set .The pa
per f ocuses on the design fr om the overlay,the contr ol design,digital map dis p lay settings as well as trans portati on manage ment syste m s ass ociated with other as pects of the data set .
【Key words 】layer;overlay layer;trans port;electr onic map
1 Google M ap s AP I 概述
Google Map s AP I 是Google 推出编程AP I,可以让全世界
对Google Map s 有兴趣的程序设计师自行开发基于Google
Map s 的服务,建立自己的地图网站。
Google Map s JavaScri p t AP I 允许使用者把Google 地图嵌
入到自己的网页内。当使用这个AP I 时,首先申请一个AP I
key,然后利用JavaScri p t 类创建所需实例,实现所需电子地图
的引入,完成地图中点、线、标记、交通线等对象的设置,从而能以更加直观的效果来显示运输的出发地、目的地、路径及运输状态等。
鉴于Google Map s AP I 的这些特点,将其应用到运输管理信息系统中来实现现代化物流运输管理,如:根据运输单在电子地图中显示该运单的起始地和目的地,显示两地之间的运输路径,对运输车辆的实时监控以及对交通状态的实时查询等。
2 图层的设计
我们看到的电子地图,都是多个图层叠加以后的效果。何为图层?举个例子来说,在一张张透明的玻璃纸上作画,透
过上面的玻璃纸可以看见下面纸上的内容,但是无论在上一层上如何涂画都不会影响到下面的玻璃纸,上面一层会遮挡住下面的图像。最后将玻璃纸叠加起来,通过移动各层玻璃纸的相对位置或者添加更多的玻璃纸即可改变最后的合成效果。我们能在电子地图中看到起始地、目的地、交通线、运输路径等,其实就是将这些对象分别作为一个图层,然后将它们进行叠加。本项目中设计的叠加层有点,标记,折线,交通叠加层,街道视图叠加层等。
2.1 点的设置
使用Google M ap s AP I 中的G Lat L ng 类。G Lat L ng 是以经度和纬度表示的地理坐标点。利用构造函数G Lat L ng ()创建一个实例,如在地图中定义北京的位置,用point 表示北京的地理坐标点。即可表示为:
point =ne w G Lat L ng (39.909736,116.279297)。
利用方法Lat ()和Lng ()来获得坐标点的经度和纬度。
2.2 标记的设计
定义了北京的地理坐标点,当需要在地图中将北京标示出来时,使用Google M ap s AP I 中的G m rker 类。G M arker 标记
物流工程与管理第32卷
地图上的位置,它实现G Overlay接口,因此使用G Map2. add Overlay()方法添加到地图中。标记对象包含latlng(标记在地图中锚定的地理位置)和icon。由此可以表示为: var marker=ne w G Marker(point);
map.add Overlay(marker);
若没有设置标记对象的I C ON参数,则标记符号则以默认样式显示,在项目中需要分别用不同的符号来表示起始地、目的地以及运输过程中的地理位置,所以需要设置符号样式。如用黄标识来作为北京的标记时,用如下方式表示: var yell ow I con=ne w GI con(G_DEF AULT_I CON);
yell ow I con.i m age=“htt p://le/intl/en_us/ mapfiles/m s/m icons/yell ow-dot.png”;
marker Op ti ons={icon:yell ow I con};
var marker=ne w G M arker(point,marker Op ti ons);map. add Overlay(marker);
将标记添加到地图中后,即可调用它的方法,如当将鼠标放置在北京的标记上时,显示北京的坐标值;如当点击标记时,显示当前标记对象的地理环境等。
2.3 交通叠加层的设计
Google地图AP I使用GTraffic Overlay对象向地图中添加交通信息。可以使用G Map2.add Overlay()方法向地图中添加交通信息。GTraffic Overlay有两种方法(hide()和show())用于切换是否显示交通叠加层。只有支持的城市才能显示交通信息。在项目中显示北京的交通信息,设置如下:
var traffic Op ti ons={incidents:true};
traffic I nfo=ne w GTraffic Overlay(traffic Op ti ons);
map.add Overlay(traffic I nf o);
2.4 街道视图叠加层的设计
Google地图AP I提供街道视图服务,可用于获取及处理在Google地图街道视图中使用的图像。
通过使用GStreetvie wPanora ma对象可支持街道视图图像,该对象可向街道视图Flash 查看器提供一个AP I接口。要将街道视图合并到地图AP I应用程序中,按如下操作步骤即可:
①创建一个容器(通常是<div>元素),来包含街道视图Flash 查看器。
②创建一个GStreetvie wPanora ma对象,然后将其放入该容器中。
③将街道视图对象初始化为引用一个特定位置并显示初始“视点”(P OV)。
④通过检查603错误值来处理不受支持的浏览器。
GStreetvie wPanora ma对象要求其构造函数中有一个容器元素。在构造函数调用结束后调用对象的set L ocati on AndP OV 方法来更改其位置和P OV。
・街道视图容器
街道视图Flash查看器需要一个DOM容器节点,此节点用于显示查看器的内容(通常是<div>元素)。为
使全景图像达到最佳显示效果,尺寸设置为200像素x200像素。
GStreetvie wPanora ma构造函数需要一个container参数来确定初始容器元素,该容器元素中将显示街道视图Flash查看器。可以对GStreetvie wPanora ma对象应用hide(),使其暂时不显示;应用show(),使其重新显示出来。
在任何时候,当要更改街道视图Flash查看器的容器时,向容器发送set Container()方法,从而向该容器传递其应当关联的新元素。如果想要从DOM中彻底删除街道视图Flash查看器并释放其内存,则向该对象传递re move()方法。如果想要从DOM中删除容器元素,则必须调用该方法,否则将导致客户端浏览器的内存泄漏。兖州地震
・街道视图位置
街道视图图像包含一个位置(对应于G Lat L ng)和一个特定的方向(GPov),二者共同标识图像显示的视图。
由于街道视图要求支持Flash 插件,需先检查该插件在用户浏览器上是否可用。也可以注册一个对GStreetvie wPanora ma对象上的err or事件进行侦听的事件侦听器,来在应用程序中进行此检查,通过err or事件可传递一个可以评估的错误代码。
无铬
・街道视图视点(P OV)
街道视图位置定义一个图像相机的放置位置,但是不定义该图像相机的方向。为了定义相机方向,GPov对象常量定义了三个属性:
・ya w定义以相机位置为圆心相对于正北方向的旋转角度(以度为单位)。摆角按顺时针方向测量(90度为正东方向)。
张居正 考成法・p itch定义相对于相机初始默认倾斜度的“向上”或“向下”差值,默认倾斜度通常为平直水平。
・zoom定义此视图的缩放级别(有效地限制“视野”),0表示完全缩小。不同的街道视图位置可能提供更高或更低的缩放级别。
默认情况下,这些值均为0,所定义的视图为平直水平,方向为正北,且显示最宽的视野。
・设置全景视图
可以在构造全景对象时使用GStreetvie wPanora ma Op ti ons 参数设置该对象的位置和GPov。
・使用街道视图叠加层
确定道路是否支持街道视图的最简单方法是通过使用GStreetvie wOverlay对象。只需创建一个此类型的叠加层,然后将其添加到地图中;包含街道视图数据的道路将使用蓝
27
第4期翦象慧等:Google M ap s AP I在物流运输管理系统的应用
边界在地图上高亮显示。
当检查到某个地理区域支持街道视图后,通过填充GStreetvie wPanorama对象在有效的街道视图道路上添加可响应单击操作的逻辑。设计如下:
var myPano=ne w GStreetvie wPanora ma(docu ment. getEle ment B yI d(“pano”));
var map=ne w G Map2(Ele ment B yI d (“map”));
map.set Center(ne w G Lat L ng(39.909736,116.279297), 14);
sv Overlay=ne w GStreetvie wOverlay();
map.add Overlay(sv Overlay);
GEvent.add L istener(map,“click”,functi on(overlay, latlng){myPano.set L ocati on AndP OV(latlng);});
3 控件的设计
对所显示的电子地图进行平移、缩放、地图类型转换、比例尺调整、地址搜索、鸟瞰图视图等操作时,是通过设置地图AP I带有的可以在地图中使用的内置控件来实现的。
3.1 地图缩放、比例尺调整
GS mall M apContr ol实现在Google地图上使用的小平移/缩放控件。显示在地图的左上角。
GS mallZoomContr ol是一个小型缩放控件,用于在Google 地图上显示行车路线的小地图弹出窗口。
房地产信息化GScaleContr ol用来设置地图比例尺
3.2 地图类型转换
在项目中实现可通过地图、卫星、混合地图、地球四种方式来显示地图信息时,使用G M apTypeContr ol来实现,并将控件显示在地图的左下角位置。设置如下:
map.add M apType(G_S ATE LL I TE_3D_MAP);
第十二届国家机构领导人
var mapTypeContr ol=ne w G MapTypeContr ol();
var bott omLeft=ne w GContr olPositi on(G_ANCHOR_ BOTT OM_LEFT,ne w GSize(10,10));
map.addContr ol(mapTypeContr ol,bott omLeft);
3.3 地址搜索
map.addContr ol(ne w google.map s.LocalSearch(),ne w GContr olPositi on(G_ANCHOR_BOTT OM_R I GHT,ne w GSize (10,20)));
上述所有这些控件都基于GContr ol对象。
4 地图的显示
任何Google地图AP I应用程序中的基础元素都是“地图”本身。如在网页中显示以北京为中心的地图。
<!DOCTYPE ht m l P UBL I C“-//W3C//DT D XHT ML1. 0Strict//E N”
“htt p:///TR/xht m l1/DT D/xht m l1-strict. dtd”>
<ht m l x m lns=“htt p:///1999/xht m l”x m lns:v =“urn:sche mas-m icr os oft-com:v m l”>
<head>
<meta htt p-equiv=“content-type”content=“text/ht m l; charset=utf-8”/>
<title>物流信息平台-电子地图</title>
<scri p t src=“htt p://le/?file=ap i&a mp;v =2.x&a mp;key=ABQ I A AAAenric1_zpeH8z_ st1qduv BTu wpJVEPjTGK5sS1H_kKs79n3jZ RQW8l O-26_ mFE6g5Vza w8CXBF9Dw&hl=zh-CN”type=“text/javascri p t”></scri p t>
<scri p t type=“text/javascri p t”>
functi on initialize(){
if(G B r owserIs Compatible()){
var map=new G Map2(Ele ment B yI d (“map”));
map.set Center(ne w G Lat L ng(39.909736,116.279297), 5);
}
}
</scri p t>
</head>
<body onl oad=“initialize()”onunl oad=“G Unl oad()”>
<div id=“map”style=“width:1000px;height:600px”> </div>
</body>
</ht m l>
在上述代码中,可从以下5点进行介绍:
①htt p://le/map s?file=ap i&v=2&key= ABQ I A AAAenric1_zpeH8z_st1qduv BTu wpJVEPjTGK5sS1H_ kKs79n3jZ RQW8l O-26_mFE6g5Vza w8CXBF9Dw网址指向包含使用Google地图AP I所需所有符号和定义的JavaScri p t文件的位置。使用scri p t标签包含Google地图AP I JavaScri p t。
②要让地图在网页上显示,必须为其留出一个位置,由此,创建一个名为“map”的div,并使用样式属性设置其尺寸。
③编写JavaScri p t函数创建“map”对象。G Map2类是表示地图的JavaScri p t类。使用JavaScri p t的ne w操作来创建此类的新实例。通过G M ap2构造函数创建地图后,将其初始化。初始化通过地图的set Center()方法完成。set Center()方法要求有G Lat L ng坐标和缩放级别,而且必须先发送此方法,然后再在地图上执行其他任何操作,包括设置地图本身的其
37
物流工程与管理第32卷
他任何属性。
④将北京的中心设置为指定的地理点。当有了地图,则需要引用地图上的位置。在Google地图AP I中,使用G Lat L ng 构造一个G Lat L ng对象,以{经度,纬度}的顺序传递参数:
⑤从body标签的on Load事件初始化地图对象。
5 电子地图与运输系统的数据关联
电子地图中所显示的地理对象来自于运输单的起始地和目的地,由这两个地址显示路径,并根据运输单的状态值模式显示当地的地理位置,由此需要实现电子地图与运输管理系统中的数据关联。本项目的解决方法是:先将包含城市名称,经度值,纬度值信息的表放置在S OA平台,当运输系统中进行一运输订单的下达时,提取该运单的起始地和目的地名称信息,与S OA的地理信息表相关联,取得起始地和目的地对应的精度和纬度信息,并生成X ML文件,在网页中用静态方法Gx m l处理X ML文档。如在项目中实现显示某运单的起始地址时,首先通过提取起始地址名称,然后与S OA中的地理信息表相关联,生成X ML文件,通过GXm l获取X ML的内容,并以此内容获取得地理坐标点,并标记出来,可表示如下:
G Downl oad U rl(“begin1.x m l”,functi on(data){
var x m l=GXm l.parse(data);
var markers=x m l.docu Ele ments ByTag Na me (“marker”);
point=ne w G Lat L ng(parseFl oat(markers[0].get A ttribute (“lat”)),
parseFl oat(markers[0].get A ttribute(“lng”)));
var marker=ne w G Marker(point);
map.add Overlay(marker);
取得两地的名称,并生成以此信息为内容的X ML文件,通过ActiveXObject(‘M icr os oft.X MLDOM’)构造实例,获取X ML的内容,从而显示两地运输路径。
当在项目中模拟显示当前运单的地理位置时,是取运输单的状态值为X ML文件,对该文件当中的内容进行判断,当状态为在途时,做标记移动;当状态为已到达时,标记移动到目的地位置。
6 结束语
把地理信息系统(GI S)技术融入到物流运输的过程中,就可以更容易地处理物流运输中的各个环节,有助于在物流运输活动中有效地利用现有资源,降低消耗,提高效率。在物流运输管理中,合理选择运输路线是有效控制物流成本的关键。利用Google Map s JavaScri p t AP I把Google地图嵌入到自己的网页内,能及时的查看运输路径、路线交通状况等,实现对运输车辆的实时监控以及对交通状态的实时查询等。
[参考文献]
[1]方轮.物流信息技术与应用[M].广州:华南理工大学出
版社.2006.
[2]燕春蓉.电子商务与物流[M].上海:上海财经大学出版
社.2006.
特勤机甲队4攻略[3]余明,艾延华.地理信息系统导论[M].北京:清华大学出
版社.2009.
[4]胡延松赵玉国.现代物流概论[M].武汉:武汉理工大学
出版社.2007.
[5]董晓红.独立学院应用型人才培养模式的探索与实践
[J].中国职业技术教育.2007,36.
[6]郑晨辉.基于GI S的物流配送辅助系统研究[D].哈尔滨
理工大学.2004.
(上接第76页)到账物相符,从根本上避免物资管理中容易出现的账物不相符,库存台账、财务账相对于实物过程滞后的问题。
4.3 物流信息系统总体功能
针对电信企业物流需求特点和企业管理要求,物流信息管理系统需实现以下功能:①工程物资管理;②备品备件管理;③市场物资管理;④综合查询;⑤接口模块,实现M I S、BOSS、供应商、配送服务商系统接口;⑥要求能够同时满足仓储自行管理和仓储外包两种管理模式;⑦系统维护及管理。
对于各类物资,需要提供实物入库管理、库存管理、实物出库管理、配送管理等管理功能。5 结束语
通过实施物流信息化建设,不仅可以优化物流管理,而且可以有效地提高资金利用效率,减少资源浪费,从而达到降低成本、提升电信运营企业的核心竞争力,为电信运营企业向服务提供商转型助力。
[参考文献]
[1]李红,刘翠娟,宋利伟.中小企业物流信息化建设问题的
探讨[J].物流工程.2007,(2).
[2]张泓.浅谈建筑企业的物流信息化管理[J].铁道建筑技
术,2004,(4).
[3]宋玉贤.企业信息化建设[M].北京大学出版社.2005.
47

本文发布于:2024-09-22 13:32:37,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/501757.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地图   显示   物流   视图   运输
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议