当前位置:文档之家› 地图服务API接口

地图服务API接口

凯立德Web地图服务API接口V1.50深圳市凯立德计算机系统技术有限公司版本历史Web地图服务API接口目录1地图服务架构 (4)1.1 地图服务发布原理 (4)1.2 地图服务应用原理 (5)1.3 基础元素 (5)1.4 开发语言 (5)1.5 注意事项 (5)2创建地图服务 (5)2.1 创建基本的地图服务 (5)2.2 地图服务提供的方法 (6)3地图标注 (8)3.1 业务层 (8)3.1.1 添加业务层 (8)3.1.2 属性列表 (8)3.1.3 清空业务层 (8)3.1.4 删除业务层 (8)3.1.5 显示业务层 (8)3.1.6 隐藏业务层 (8)3.2 图片标注 (8)3.2.1 创建对象 (8)3.2.2 设置属性 (9)3.2.3 添加到地图 (9)3.2.4 属性列表 (9)3.2.5 通过ID获取图片标注 (10)3.2.6 通过ID删除图片标注 (10)3.2.7 更新标注信息 (10)3.3 文本标注 (10)3.3.1 创建对象 (10)3.3.2 设置属性 (10)3.3.3 添加到地图 (11)3.3.4 属性列表 (11)3.3.5 通过ID获取图片标注 (12)3.3.6 通过ID删除图片标注 (12)3.3.7 更新标注信息 (12)3.4.1 创建对象 (12)3.4.2 设置属性 (12)3.4.3 属性设置: (13)3.4.4 通过ID获取线标注 (13)3.4.5 通过ID删除标注信息 (13)3.4.6 更新标注信息 (13)3.5 圆标注 (14)3.5.1 创建对象 (14)3.5.2 设置属性 (14)3.5.3 添加到地图 (14)3.5.4 参数说明: (14)3.5.5 通过ID获取圆标注 (14)3.5.6 通过ID删除标注信息 (14)3.5.7 更新标注信息 (15)3.6 多边形标注 (15)3.6.1 创建对象 (15)3.6.2 设置属性 (15)3.6.3 添加到地图 (15)3.6.4 属性设置: (15)3.6.5 通过ID获取面标注 (15)3.6.6 通过ID删除标注信息 (15)3.6.7 更新标注信息 (16)4轨迹功能 (16)4.1 创建轨迹 (16)4.2 设置轨迹属性 (16)4.3 添加到地图 (16)4.4 参数说明: (16)4.5 开始播放 (17)4.6 暂停播放 (17)4.7 继续播放 (17)4.8 停止播放 (17)5POI查询接口 (17)5.1 创建查询对象 (17)5.2 设置查询属性 (17)5.3 执行查询 (17)5.4 列表信息 (17)5.5 分页控制 (18)5.6 分页信息 (18)5.7 触发函数 (18)6地址解析 (19)6.1 使用说明 (19)6.2 代码实例 (19)7导航规划 (19)7.2 参数说明 (19)8查询交叉路口 (19)8.1 交叉路口查询接口 (19)8.2 接口说明 (19)9区域信息 (19)9.1 通过坐标点获取 (19)9.2 通过区域编号获取 (20)9.3 获取区域列表 (20)10其它接口 (20)10.1 地图窗口 (20)10.1.1 创建对象 (20)10.1.2 关闭窗口 (20)10.1.3 参数说明 (20)10.2 测距 (21)11开发实例 (21)11.1 实例代码 (21)1地图服务架构1.1地图服务发布原理地图服务的数据存储:由ArcGis应用系统及相应的开发工具把基础地图数据经转换存储在基础图形数据库(GeoDataBase)中。

地图服务:是由SDE服务及相应的服务发布服务把地图服务器中的基础图形数据发布成地图服务数据,其最终表现为地图中的矢量数据及栅格数据。

地图服务提供方式:地图服务的URL地址服务及服务名称及相应的javacript开发接口。

1.2地图服务应用原理数据存放:地图服务存放在信息中心的服务器中,业务数据存放在业务系统数据库中。

地图服务调用:地图服务提供调用接口及其开发文档;其接口提供方式为javascript 方式,由业务系统调用相应的javascript方法把地图显示出来,并把其业务数据显示在地图上面。

地图显示过程:第一次打开地图时,用户在浏览过程中下载当前视图中所显示的地图数据,这时根据网络的带宽大小可能会有点慢;在下次打开地图及浏览时,由于已经下载过显示区域的地图,机器中已存在其缓存数据,这时不需要从服务器下载视图的地图数据,对地图显示基本不花时间。

而对地图进行操作的时间基本上花在地图上面的业务数据显示上。

业务数据加载过程:a)把业务数据从业务数据库中提取到客户端中。

b)调用地图服务所提供的方法把业务数据加载到地图上面。

1.31.4开发语言JavaScript + HTML +XML1.5注意事项网页最好是UTF-8格式,申明严格的网页标准<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd">2创建地图服务2.1创建基本的地图服务步骤:一. 在网页中引用主JS文件(一般放在<head></head>之间):<script language="javascript"src="http://MyMapService/CarelandMap.aspx?a=cld"></script>二. 添加一个DIV作为地图加载的容器:<div id="myMap"></div>div的样式可以随意设置,但是必须设置一个唯一的ID。

三.添加地图加载和基本设置代码:<script type="text/javascript">var map = new CarelandMap("myMap",950,500);map.loadMap("china",new CLDPoint(9955309854.477604,156279515.66388),5);</script>2.2地图服务提供的方法表:使用实例: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.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.43.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.43.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),newCLDPoint(64342,52345));设置线标注的线条粗细marker.border = 1;设置线标注的颜色marker.color = "#ccc";设置线标注是否启用箭头marker.arrow = true;设置线标注透明度marker.opacity = 50;添加到地图map.addMarker(marker,layer);3.4.33.4.4通过ID获取线标注map.getMarker("mymarkerid");返回的是一个标注对象(marker),可以直接像marker.id这样使用,获取不到,或对象不存在时返回null或undefined3.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.43.5.5通过ID获取圆标注map.getMarker("mymarkerid");返回的是一个标注对象(marker),可以直接像marker.id这样使用,获取不到,或对象不存在时返回null或undefined3.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.43.6.5通过ID获取面标注map.getMarker("mymarkerid");返回的是一个标注对象(marker),可以直接像marker.id这样使用,获取不到,或对象不存在时返回null或undefined3.6.6通过ID删除标注信息直接把标注信息从地图中删除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 = "<img src ='images/car/001.png'>";points.push(point);point = new CLDPoint(52345,334533);point.s = "<img src ='images/car/002.png'>";points.push(point);point = new CLDPoint(43452,52345);point.s = "<img src ='images/car/003.png'>";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开始播放track.start();4.6暂停播放track.pause();4.7继续播放track.go();4.8停止播放track.stop();5POI查询接口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.pois[5].id);这个方法可以用来触发列表对应的POI的定位信息。

相关主题