网络地理信息系统李猛

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

网络地理信息系统实验报告班级:地理1201学号:120050115姓名:李猛指导教师:李俊付实验一百度地图API引入一、实验内容1、引入百度地图api,实现地图展示功能二、实验步骤开始学习百度地图API最简单的方式是看一个简单的示例。以下代码创建了一个地图并以河北工程大学作为地图的中心:准备页面根据HTML标准,每一份HTML文档都应该声明正确的文档类型,我们建议您使用最新的符合HTML5规范的文档声明:!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN下面添加一个meta标签,以便使您的页面更好的在移动平台上展示。metahttp-equiv=Content-Typecontent=text/html;charset=gb2312/接着引用百度地图的js脚本scripttype=text/javascriptsrc==2.0&ak=M1zTyBfMN6FEowCYdZRjnhaI/scriptscripttype=text/javascriptsrc=接着设置样式,给地图设置一个容器元素divdivstyle=width:1366px;height:768px;position:absolute;top:0px;left:0px;border:#cccsolid1px;id=dituContent/div引用百度地图API文件使用V1.4及以前版本的引用方式:创建地图容器元素地图需要一个HTML元素作为容器,这样才能展现到页面上。这里我们创建了一个div元素。命名空间API使用BMap作为命名空间,所有类均在该命名空间之下,比如:BMap.Map、BMap.Control、BMap.Overlay。创建地图实例varmap=newBMap.Map(dituContent);位于BMap命名空间下的Map类表示地图,通过new操作符可以创建一个地图实例。其参数可以用元素id.创建点坐标varpoint=newBMap.Point(116.69034,39.54352);这里我们使用BMap命名空间下的Point类来创建一个坐标点。Point类描述了一个地理坐标点,其中114.513923表示中心点的经度,36.576754表示中心点的纬度。地图初始化map.centerAndZoom(point,15);创建地图实例后,对其进行初始化,BMap.Map.centerAndZoom()方法设置中心点坐标和地图级别,然后才可以执行其他操作。地图配置与操作地图被实例化并完成初始化以后,就可以与其进行交互了。它支持鼠标拖拽、滚轮缩放、双击放大等功能。您也可以修改配置来改变这些功能。配置选项可以在Map类参考的配置方法一节中找到。此外,还可以通过编程的方式与地图交互。Map类提供了若干修改地图状态的方法。例如:setCenter()、panTo()、zoomTo()等等。下面是通过代码展示的地图,中心点是廊坊市中心实验二百度地图控件了解一、实验内容熟悉百度地图api提供的控件二、实验步骤百度地图上负责与地图交互的UI元素称为控件。百度地图API中提供了丰富的控件,还可以通过Control类来实现自定义控件。地图API中提供的控件有:Control:控件的抽象基类,所有控件均继承此类的方法、属性。通过此类可实现自定义控件。NavigationControl:地图平移缩放控件,PC端默认位于地图左上方,它包含控制地图的平移和缩放的功能。OverviewMapControl:缩略地图控件,默认位于地图右下方,是一个可折叠的缩略地图。ScaleControl:比例尺控件,默认于地图左下方,显示地图的比例关系。MapTypeControl:地图类型控件,默认位于地图右上方。CopyrightControl:版权控件,默认位于地图左下方。(不允许删除)GeolocationControl:定位控件,针对移动端开发,默认于地图左下方。向地图添加控件可以使用Map.addControl()方法向地图添加控件。在此之前地图需要进行初始化。例如,要将标准地图控件添加到地图中,可在代码中添加如下内容://向地图中添加缩放控件varctrl_nav=newBMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});map.addControl(ctrl_nav);其他的控件添加方法一样,只是名称不同控制控件位置初始化控件时,可提供一个可选参数,其中的anchor和offset属性共同控制控件在地图上的位置。控件停靠位置anchor表示控件的停靠位置,即控件停靠在地图的哪个角。当地图尺寸发生变化时,控件会根据停靠位置的不同来调整自己的位置。anchor允许的值为:BMAP_ANCHOR_TOP_LEFT表示控件定位于地图的左上角。BMAP_ANCHOR_TOP_RIGHT表示控件定位于地图的右上角。BMAP_ANCHOR_BOTTOM_LEFT表示控件定位于地图的左下角。BMAP_ANCHOR_BOTTOM_RIGHT表示控件定位于地图的右下角。控件位置偏移除了指定停靠位置外,还可以通过偏移量来指示控件距离地图边界有多少像素。如果两个控件的停靠位置相同,那么控件可能会重叠在一起,这时就可以通过偏移量使二者分开显示。比如:地图类型控件和城市列表控件默认位置都是地图右上角,就会出现重叠,如下图:,这就需要offset控制偏移量来避免重叠本示例将比例尺放置在地图的左下角,由于API默认会有版权信息,因此需要添加一些偏移值以防止控件重叠。varopts={offset:newBMap.Size(50,50)}map.addControl(newBMap.MapTypeControl(opts));修改控件配置地图API的控件提供了丰富的配置参数,您可参考API文档来修改它们以便得到符合要求的控件外观。例如,NavigationControl控件就提供了如下类型:BMAP_NAVIGATION_CONTROL_LARGE表示显示完整的平移缩放控件。BMAP_NAVIGATION_CONTROL_SMALL表示显示小型的平移缩放控件。BMAP_NAVIGATION_CONTROL_PAN表示只显示控件的平移部分功能。BMAP_NAVIGATION_CONTROL_ZOOM表示只显示控件的缩放部分功能。下图从左向右依次展示了上述不同类型的控件外观:自定义控件百度地图API允许用户通过继承Control来创建自定义地图控件。要创建可用的自定义控件,您需要做以下工作:1.定义一个自定义控件的构造函数。2.设置自定义控件构造函数的prototype属性为Control的实例,以便继承控件基类。3.实现initialize()方法并提供defaultAnchor和defaultOffset属性。4.自定义控件使用之前必须初始化实验三百度地图服务一、实验内容了解百度地图提供的服务二、实验步骤地图服务是指那些提供数据信息的接口,比如本地搜索、路线规划等等。百度地图API提供的服务有:LocalSearch:本地搜索,提供某一特定地区的位置搜索服务,比如在北京市搜索“公园”。TransitRoute:公交导航,提供某一特定地区的公交出行方案搜索服务。DrivingRoute:驾车导航,提供驾车出行方案的搜索服务。WalkingRoute:步行导航,提供步行出行方案的搜索服务。Geocoder:地址解析,提供将地址信息转换为坐标点信息的服务。LocalCity:本地城市,提供自动判断您所在城市的服务。TrafficControl:实时路况控件,提供实时和历史路况信息服务。搜索类的服务接口需要指定一个搜索范围,否则接口将不能工作。本地搜索BMap.LocalSearch提供本地搜索服务,在使用本地搜索时需要为其设置一个检索区域,检索区域可以是BMap.Map对象、BMap.Point对象或者是省市名称(比如:邯郸市)的字符串。BMap.LocalSearch构造函数的第二个参数是可选的,您可以在其中指定结果的呈现。BMap.RenderOptions类提供了若干控制呈现的属性,其中map指定了结果所展现的地图实例,panel指定了结果列表的容器元素。varmap=newBMap.Map(dituContent);map.centerAndZoom(newBMap.Point(116.69034,39.54352),15);varlocal=newBMap.LocalSearch(map,{renderOptions:{map:map}});local.search(人民公园);另外,BMap.LocalSearch还提包含searchNearby和searchInBounds方法,为您提供周边搜索和范围搜索服务。配置搜索BMap.LocalSearch提供了若干配置方法,通过它们可以自定义搜索服务的行为以满足您的需求。在下面的示例中,我们调整每页显示8个结果,并且根据结果点位置自动调整地图视野,不显示第一条结果的信息窗口:varmap=newBMap.Map(dituContent);map.centerAndZoom(newBMap.Point(116.69034,39.54352),15);varlocal=newBMap.LocalSearch(廊坊市,{renderOptions:{map:map,autoViewport:true},pageCapacity:8});local.search(人民公园);结果面板通过设置BMap.LocalSearchOptions.renderOptions.panel属性,可以为本地搜索对象提供一个结果列表容器,搜索结果会自动添加到容器元素中。请看下面示例:varmap=newBMap.Map(dituContent);map.centerAndZoom(newBMap.Point(116.69034,39.54352),15);varlocal=newBMap.LocalSearch(map,{renderOptions:{map:map,panel:results});local.search(人民公园);公交导航BMap.TransitRoute类提供公交导航搜索服务。和本地搜索类似,在搜索之前需要指定搜索区域,注意公交导航的区域范围只能是市,而不能是省。如果搜索区域为BMap.Map对象,路线结果会自动添加到地图上。如果您提供了结果容器,相应的路线描述也会展示在页面上。下面示例展示了如何使用公交导航服务:varmap=newBMap.Map(dituContent);map.centerAndZoom(newBMap.Point(116.69034,39.54352),15);vartransit=newBMap.TransitRoute(map,{renderOptions:{map:map}});transit.search(人民公园,乐都新天地);结果面板您可以提供用于展示文字结果的容器元素,方案结果会自动在页面中展现:驾车导航BMap.DrivingRoute提供驾车导航服务。与公交导航不同的是,驾车导航的搜索范围可以设置为省。下面示例展示了如何使用驾车导航接口:varmap=newBMap.Map(container);map.centerAndZoom(newBMap.Point(1

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功