




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
凯立德Web地图服务API接口V1.50深圳市凯立德计算机系统技术有限公司版本历史日期版本作者审核人备注2007-11-131.00苏良军曾贵林新增2008-5-211.10苏良军曾贵林修改2008-7-101.10苏良军曾贵林修改2008-8-151.50苏良军曾贵林修改Web地图服务API接口目录1地图服务架构41.1地图服务发布原理41.2地图服务应用原理51.3基础元素51.4开发语言51.5注意事项52创建地图服务52.1创建基本的地图服务52.2地图服务提供的方法63地图标注83.1业务层83.1.1添加业务层83.1.2属性列表83.1.3清空业务层83.1.4删除业务层83.1.5显示业务层83.1.6隐藏业务层83.2图片标注83.2.1创建对象83.2.2设置属性93.2.3添加到地图93.2.4属性列表93.2.5通过ID获取图片标注103.2.6通过ID删除图片标注103.2.7更新标注信息103.3文本标注103.3.1创建对象103.3.2设置属性103.3.3添加到地图113.3.4属性列表113.3.5通过ID获取图片标注123.3.6通过ID删除图片标注123.3.7更新标注信息123.4线标注123.4.1创建对象123.4.2设置属性123.4.3属性设置:133.4.4通过ID获取线标注133.4.5通过ID删除标注信息133.4.6更新标注信息133.5圆标注143.5.1创建对象143.5.2设置属性143.5.3添加到地图143.5.4参数说明:143.5.5通过ID获取圆标注143.5.6通过ID删除标注信息143.5.7更新标注信息153.6多边形标注153.6.1创建对象153.6.2设置属性153.6.3添加到地图153.6.4属性设置:153.6.5通过ID获取面标注153.6.6通过ID删除标注信息153.6.7更新标注信息164轨迹功能164.1创建轨迹164.2设置轨迹属性164.3添加到地图164.4参数说明:164.5开始播放174.6暂停播放174.7继续播放174.8停止播放175POI查询接口175.1创建查询对象175.2设置查询属性175.3执行查询175.4列表信息175.5分页控制185.6分页信息185.7触发函数186地址解析196.1使用说明196.2代码实例197导航规划197.1导航规划接口197.2参数说明198查询交叉路口198.1交叉路口查询接口198.2接口说明199区域信息199.1通过坐标点获取199.2通过区域编号获取209.3获取区域列表2010其它接口2010.1地图窗口2010.1.1创建对象2010.1.2关闭窗口2010.1.3参数说明2010.2测距2111开发实例2111.1实例代码211 地图服务架构1.1 地图服务发布原理 地图服务的数据存储:由ArcGis应用系统及相应的开发工具把基础地图数据经转换存储在基础图形数据库(GeoDataBase)中。 地图服务:是由SDE服务及相应的服务发布服务把地图服务器中的基础图形数据发布成地图服务数据,其最终表现为地图中的矢量数据及栅格数据。 地图服务提供方式:地图服务的URL地址服务及服务名称及相应的javacript开发接口。1.2 地图服务应用原理 数据存放:地图服务存放在信息中心的服务器中,业务数据存放在业务系统数据库中。 地图服务调用:地图服务提供调用接口及其开发文档;其接口提供方式为javascript方式,由业务系统调用相应的javascript方法把地图显示出来,并把其业务数据显示在地图上面。 地图显示过程:第一次打开地图时,用户在浏览过程中下载当前视图中所显示的地图数据,这时根据网络的带宽大小可能会有点慢;在下次打开地图及浏览时,由于已经下载过显示区域的地图,机器中已存在其缓存数据,这时不需要从服务器下载视图的地图数据,对地图显示基本不花时间。而对地图进行操作的时间基本上花在地图上面的业务数据显示上。 业务数据加载过程:a) 把业务数据从业务数据库中提取到客户端中。b) 调用地图服务所提供的方法把业务数据加载到地图上面。1.3 基础元素名目构建方法参数点new CLDPoint(x,y)需要X和Y坐标线new CLDLine()圆new CLDCircle()图片标注new CLDImage()文本标注new CLDText()多边形new CLDShap()轨迹new CLDTrack()1.4 开发语言JavaScript + HTML +XML1.5 注意事项网页最好是UTF-8格式,申明严格的网页标准2 创建地图服务2.1 创建基本的地图服务步骤:一. 在网页中引用主JS文件(一般放在之间):二. 添加一个DIV作为地图加载的容器:div的样式可以随意设置,但是必须设置一个唯一的ID。三. 添加地图加载和基本设置代码:var map = new CarelandMap(myMap,950,500);map.loadMap(china,new CLDPoint(9955309854.477604,156279515.66388),5);2.2 地图服务提供的方法表:序号方法参数返回描述01CarelandMap容器ID,宽度,高度Object地图对象02loadMap服务数据名称,中心点,地图缩放级别无加载地图03changeView宽度,高度无改变地图容器大小04getBrowser无字符串“IE”等获得浏览器类型05addLayerCLDLayer无添加业务层06clearLayerid无清空业务层07showLayerid无显示业务层08hiddenLayerid无隐藏业务层09delLayerid无删除业务层10setToolBar工具对应参数无设置工具栏11addMarker标注对象无添加标注12getMarkerid标注对象获取标注13delMarkerid无删除标注14updateMarkerid无更新标注15addFunction方法,key无注册接口16changeCurrentToolkey无切换工具17mapToPrint无无打印当前地图18clearMap无无清除地图中所有信息19getGuid无Guid获得一个唯一id20getTwoPointDistanceA点,B点距离计算两点距离21getPointInCircle点数组,圆心,半径点数组返回圆中的点22getPointInBox点数组,矩形A点,矩形B点点数组返回矩形中的点23getPointInShape点数组,多边形数组点数组返回多边形中的点24getMapCenterPoint无点坐标返回当前中心点25getMapZoom无缩放级别返回当前缩放级别26getPointInMap点true/false判断点是否在地图显示范围27goToMap点坐标,缩放级别无定位地图28mapMoveX距离,Y距离无平移地图29mapZoomIn无无放大地图30mapZoomOut无无缩小地图使用实例:1) 改变地图容器大小,map.changeView(500,600);2) 打印地图map.mapToPrint();3) 定位地图并缩放到对应级别map.goToMap(new CLDPoint(323432,43245),2);4) 向右平移100个屏幕坐标 map.mapMove(100,0);5) 设置工具栏 map.setToolBar(cldSingleSelect,cldDragMap|漫游,boxZoomIn|放大,boxZoomOut|缩小);3 地图标注3.1 业务层3.1.1 添加业务层要使用标注(注记)功能,必须先创建一个业务图层,所有标注都是需要添加到某个业务图层中。var layer = new CLDLayer();layer.id = 001 ; = 第一个业务层; map.addLayer(layer);3.1.2 属性列表序号属性说明01id唯一编号02name名称3.1.3 清空业务层 map.clearLayer(layerid);把当前业务层中的所有标注对象从地图中清除. 3.1.4 删除业务层map.delLayer(mylayerid);3.1.5 显示业务层map.showLayer(mylayerid);把当前业务层中的标注对象信息显示出来.3.1.6 隐藏业务层map.hiddenLayer(mylayerid);把当前业务层中的标注信息隐藏起来(不可见).3.2 图片标注3.2.1 创建对象实例化图片标注对象var marker = new CLDImage();3.2.2 设置属性给标注设置唯一属性marker.id = mymarkerid;设置标注的位置信息marker.point = new CLDPoint(3234324,5325432);设置标注图片路径marker.dimg = null;设置标注是否直接使用系统内置样式,包括图片样式marker.dstyle = true;设置标注是否可以通过工具移动位置marker.move = true;当标注设置为可移动时,使用工具移动后是否直接更新标注marker.save = true;设置标注的左右偏移,直接用正负值带表左右方向marker.left = -10;设置标注的上下偏移,直接用正负值带表上下方向marker.top = -34;3.2.3 添加到地图map.addMarker(marker,layer);3.2.4 属性列表序号属性 类型说明01id 字符串 唯一ID02dstyle true或false 自定义样式名称03point 点坐标 位置坐标04dimg 图片路径默认图片05simg 图片路径 选中图片06wimg 图片路径 警报图片07left 数值 左右偏移位置08top 数值 上下偏移位置09width 数值 宽度10height 数值 高度11style 样式名称 设置样式名称(外部)12move true或false 是否允许移动13save true或false 移动后是否直接更新14click function或函数名 点击事件15tip 文本或html 提示信息3.2.5 通过ID获取图片标注map.getMarker(mymarkerid);返回的是一个标注对象(marker),可以直接像marker.id这样使用,获取不到,或对象不存在时返回null或undefined3.2.6 通过ID删除图片标注map.delMarker(mymarkerid);直接把标注信息从地图中删除3.2.7 更新标注信息var marker = map.getMarker(mymarkerid);marker.dimg = newimg.gif;marker.update();结合标注获取接口,对返回的标注信息的属性进行修改后,直接通过标注自身的update方法更新地图中显示的标注3.3 文本标注3.3.1 创建对象实例化文本标注对象var marker = new CLDText();3.3.2 设置属性给标注设置唯一属性marker.id = mymarkerid;设置标注的位置信息marker.point = new CLDPoint(3234324,5325432);设置标注是否直接使用系统内置样式,包括图片样式marker.dstyle = true;设置标注是否可以通过工具移动位置marker.move = true;当标注设置为可移动时,使用工具移动后是否直接更新标注marker.save = true;设置标注的左右偏移,直接用正负值带表左右方向marker.left = -10;设置标注的上下偏移,直接用正负值带表上下方向marker.top = -34;设置文本标注的宽度marker.width =25;设置文本标注的高度marker.height =12;设置文本标注的文字颜色marker.color = red;设置文本标注的字号marker.size = 12;设置文本标注的内容信息marker.text = 标注;3.3.3 添加到地图map.addMarker(marker,layer);3.3.4 属性列表序号属性 类型说明01id 字符串 唯一ID02dstyle true或false 自定义样式名称03point 点坐标 位置坐标04color字符串 文本颜色值05size数值 字号06text字符串 标注内容(支持HTML)07left 数值 左右偏移位置08top 数值 上下偏移位置09width 数值 宽度10height 数值 高度11style 样式名称 设置样式名称(外部)12move true或false 是否允许移动13save true或false 移动后是否直接更新3.3.5 通过ID获取图片标注map.getMarker(mymarkerid);返回的是一个标注对象(marker),可以直接像marker.id这样使用,获取不到,或对象不存在时返回null或undefined3.3.6 通过ID删除图片标注map.delMarker(mymarkerid);直接把标注信息从地图中删除3.3.7 更新标注信息var marker = map.getMarker(mymarkerid);marker.text = 新内容;marker.update();结合标注获取接口,对返回的标注信息的属性进行修改后,直接通过标注自身的update方法更新地图中显示的标注3.4 线标注3.4.1 创建对象 实例化线标注对象var marker = new CLDLine(); 3.4.2 设置属性 设置线标注的唯一IDmarker.id = mymarkerid;设置线标注的点数组marker.points = new Array(new CLDPoint(53223,41234),new CLDPoint(64342,52345);设置线标注的线条粗细marker.border = 1;设置线标注的颜色marker.color = #ccc;设置线标注是否启用箭头marker.arrow = true;设置线标注透明度marker.opacity = 50; 添加到地图 map.addMarker(marker,layer); 3.4.3 属性设置: 序号属性 类型说明01id 字符串 唯一ID02border数值线条大小03points点坐标数组 坐标数组04color字符串 线条颜色05arrowtrue或false是否使用箭头06opacity数值线条透明度3.4.4 通过ID获取线标注 map.getMarker(mymarkerid);返回的是一个标注对象(marker),可以直接像marker.id这样使用,获取不到,或对象不存在时返回null或undefined 3.4.5 通过ID删除标注信息 map.delMarker(mymarkerid);直接把标注信息从地图中删除 3.4.6 更新标注信息 var marker = map.getMarker(mymarkerid);marker.border = 2;marker.update();结合标注获取接口,对返回的标注信息的属性进行修改后,直接通过标注自身的update方法更新地图中显示的标注 3.5 圆标注3.5.1 创建对象 实例化圆标注对象var marker = new CLDCircle(); 3.5.2 设置属性 marker.id = mymarkerid;marker.point = new CLDPoint(53454,52352);marker.radius = 500;marker.border = 1;marker.color = #ccc;marker.fill = #fff;marker.opacity = 50; 3.5.3 添加到地图 map.addMarker(marker,layer); 3.5.4 参数说明: 序号属性 类型说明01id 字符串 唯一ID02border数值线条大小03point点坐标 中心点坐标04color字符串 线条颜色05radius数值圆半径06opacity数值透明度07Fill颜色填充颜色3.5.5 通过ID获取圆标注 map.getMarker(mymarkerid);返回的是一个标注对象(marker),可以直接像marker.id这样使用,获取不到,或对象不存在时返回null或undefined 3.5.6 通过ID删除标注信息 map.delMarker(mymarkerid);直接把标注信息从地图中删除 3.5.7 更新标注信息 var marker = map.getMarker(mymarkerid);marker.fill = #efefef;marker.update();结合标注获取接口,对返回的标注信息的属性进行修改后,直接通过标注自身的update方法更新地图中显示的标注 3.6 多边形标注3.6.1 创建对象 实例化面标注对象marker = new CLDShap(); 3.6.2 设置属性 marker.id = mymarkerid;marker.points = new Array(new CLDPoint(5345,5234),new CLDPoint(34435,5234),new CLDPoint(54353,52345);marker.border = 1;marker.color = #ccc;marker.fill = #fff;marker.opacity = 50; 3.6.3 添加到地图 map.addMarker(marker,layer); 3.6.4 属性设置: 序号属性 类型说明01id 字符串 唯一ID02border数值线条大小03points点坐标数组 组成面的点坐标数组04color字符串 线条颜色05fill颜色填充颜色06opacity数值线条透明度3.6.5 通过ID获取面标注 map.getMarker(mymarkerid);返回的是一个标注对象(marker),可以直接像marker.id这样使用,获取不到,或对象不存在时返回null或undefined 3.6.6 通过ID删除标注信息 map.delMarker(mymarkerid);直接把标注信息从地图中删除 3.6.7 更新标注信息 var marker = map.getMarker(mymarkerid);marker.color = red;marker.update();结合标注获取接口,对返回的标注信息的属性进行修改后,直接通过标注自身的update方法更新地图中显示的标注 4 轨迹功能4.1 创建轨迹 var track = new CLDTrack(); 4.2 设置轨迹属性 track.id = mytrack;var points = new Array();var point = new CLDPoint(13423,52342);point.s = ;points.push(point);point = new CLDPoint(52345,334533);point.s = ;points.push(point);point = new CLDPoint(43452,52345);point.s = ;points.push(point);track.points = points;track.width = 50;track.height = 12;track.left = 50;track.top = 20;track.html = null; 4.3 添加到地图 map.addMark(track,layer); 4.4 参数说明: 序号属性 类型说明01id 字符串 唯一ID02htmlhtml代码组成轨迹运动的图形03points点坐标数组 点坐标数组04width数值宽度05height数值高度06left数值偏移值07top数值偏移值4.5 开始播放 track.start(); 4.6 暂停播放 track.pause(); 4.7 继续播放 track.go(); 4.8 停止播放 track.stop(); 5 POI查询接口5.1 创建查询对象 var search = new CLDSearch(); 5.2 设置查询属性 search.city = 10000; /设置需要查询的区域search.page = 1; /设置当前查询的页码search.type = 0; /设置查询的类型search.keyword = 宾馆; /设置查询的关键字,必须两个字以上search.fun = mysearchgo; /设置查询完毕后的触发函数 5.3 执行查询 search.search();5.4 列表信息返回的结果数组,在search.search();后即可使用search.pois数组的元数包含两个属性就是id和name 可以用来构建用户的自定义列表,search.click(search.pois5.id);这个方法可以用来触发列表对应的POI的定位信息。search.pois /数组search.pois5 /元数search.pois5.id /编号 /名称search.click(id) /定位POI5.5 分页控制search.previous(); /上一页search.next(); /下一页5.6 分页信息 search.page /当前页search.pagecount /总页数5.7 触发函数此方法完全可以自由设置,下面只是演示实例function mysearchgo() var leng = search.pois.length; var strArry = ; for(var i=0;ileng;i+) var obj = search.poisi; strArry.push(++); var pagestr = ; if(search.page1) pagestr +=上一页 ; else pagestr +=上一页 ; if(search.pagesearch.pagecount) pagestr += 下一页; else pagestr += 下一页 ; pagestr += 共+search.pagecount+页 当前是第+search.page+页 ; new cldwin_xWin(text_win,300,300,100,100,POI查询结果,+strArry.join()+pagestr); 6 地址解析6.1 使用说明根据坐标把坐标对应的位置信息返回来,位置描述信息分两种,一种是根据POI描述如“深圳市福田区招商银行大厦附近”,另一种是根据中心点的描述,如:“深圳市福田区中心点以南323米”6.2 代码实例CLDAddress(point,showmyaddress); function showmyaddress(str) alert(str);7 导航规划7.1 导航规划接口CLDNavi(apoint,bpoint,2); 7.2 参数说明最后一个参数可选:2:系统推荐 3:高速优先 4:一般 5:时间优先 6:距离优先8 查询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水泥搅拌桩施工技术培训大纲
- 台灯简笔画课件
- 展柜设计培训课件
- 课件最佳路径
- 广东国际贸易自考试题及答案
- 课件显示屏教学课件
- 广东工程估价自考试题及答案
- 拉架工考试题及答案
- 快递考试题及答案大全
- 课程方案考试题及答案
- 陕西省2023年中考英语真题(附答案)
- 上海小学数学教材目录(沪教版)
- 营养性维生素缺乏性佝偻病
- GB/T 13576.4-1992锯齿形(3°、30°)螺纹公差
- GA 668-2006警用防暴车通用技术条件
- 《C语言程序设计》一等奖说课稿
- 油画综合材料与技法
- 血浆置换 (1)课件
- 保洁常用工具和设备一览表
- 测量教案5章-es-602g全站仪
- FJC系列浮选机说明书(最终版)2010100712
评论
0/150
提交评论