系统开发实习报告Word格式文档下载.docx

上传人:b****3 文档编号:16754523 上传时间:2022-11-25 格式:DOCX 页数:20 大小:9.67MB
下载 相关 举报
系统开发实习报告Word格式文档下载.docx_第1页
第1页 / 共20页
系统开发实习报告Word格式文档下载.docx_第2页
第2页 / 共20页
系统开发实习报告Word格式文档下载.docx_第3页
第3页 / 共20页
系统开发实习报告Word格式文档下载.docx_第4页
第4页 / 共20页
系统开发实习报告Word格式文档下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

系统开发实习报告Word格式文档下载.docx

《系统开发实习报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《系统开发实习报告Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。

系统开发实习报告Word格式文档下载.docx

}

})

(i+1);

/*为每一个i都建立一个虚拟空间,在此处的i值和for循环的i值就没有关系了*/

<

/script>

结果展示:

图1-1网页制作效果图

作业2

结合XX示例DEMO,设计并制作一个地图主页,包括地图窗口及查询功能

5-8

浏览器,DW

XX地图API是为开发者免费提供的一套基于XX地图服务的应用接口,包括JavaScriptAPI、Web服务API、AndroidSDK、iOSSDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多种操作系统下的地图应用开发。

部分代码:

varmap=newBMap.Map("

container"

map.centerAndZoom(newBMap.Point(116.404,39.915),12);

varmyDrag=newBMapLib.RectangleZoom(map,{

followText:

"

拖拽鼠标进行操作"

});

!

--varmap=newBMap.Map("

-->

map.addControl(newBMap.NavigationControl());

map.addControl(newBMap.ScaleControl());

map.addControl(newBMap.OverviewMapControl());

map.addControl(newBMap.MapTypeControl());

//搜索

document.getElementById("

areaSearch"

).onclick=function(){

//创建地址解析器实例

map.addEventListener("

click"

function(e){

txtlatitude"

).value=e.point.lat;

txtLongitude"

).value=e.point.lng;

map.clearOverlays();

varpointMarker=newBMap.Point(e.point.lng,e.point.lat);

//创建标注的坐标

addMarker(pointMarker);

geocodeSearch(pointMarker);

functionaddMarker(point){

varmyIcon=newBMap.Icon("

mk_icon.png"

newBMap.Size(21,25),

{offset:

newBMap.Size(21,21),

imageOffset:

newBMap.Size(0,-21)

varmarker=newBMap.Marker(point,{icon:

myIcon});

map.addOverlay(marker);

functiongeocodeSearch(pt){

varmyGeo=newBMap.Geocoder();

myGeo.getLocation(pt,function(rs){

varaddComp=rs.addressComponents;

txtAreaCode"

).value=addComp.province+"

"

+addComp.city+"

+addComp.district;

varmyDis=newBMapLib.DistanceTool(map);

//测距功能实现,在firefox或者chrome下查看调试信息

myDis.addEventListener("

drawend"

function(e){

console.log("

console.log(e.points);

console.log(e.overlays);

console.log(e.distance);

addpoint"

console.log(e.point);

console.log(e.pixel);

console.log(e.index);

removepolyline"

console.log(e);

图2-1整体效果图

图2-3地图底图切换

图2-3坐标定位及拉框放大功能

作业3

结合FlexAPIsamplecode,设计并制作一个地图主页,要求能够较为灵活地应用FlexAPI

9-16

浏览器、flashbuilder4.6

ArcGISAPIforFlex可以实现ArcGISServer之上建立富互联网应用(RIA)。

并能够通过使用ArcGISServer资源—例如地图服务、地址服务、要素服务和地理处理服务以及Flex的组件,创建具有交互良好和体验丰富的web应用

privatevarinfoWindowText:

String;

privatevarlastClick:

MapPoint;

privateconstprojectionList:

ArrayCollection=newArrayCollection(

[

{data:

4326,label:

GCS_WGS_1984"

},

4269,label:

GCS_North_American_1983"

102113,label:

WGS_1984_Web_Mercator"

},

102100,label:

WGS_1984_Web_Mercator_Auxiliary_Sphere"

102003,label:

USA_Contiguous_Albers_Equal_Area_Conic"

102004,label:

USA_Contiguous_Lambert_Conformal_Conic"

102005,label:

USA_Contiguous_Equidistant_Conic"

3395,label:

WGS_1984_World_Mercator"

54001,label:

World_Plate_Carree"

54004,label:

World_Mercator"

54008,label:

World_Sinusoidal"

54009,label:

World_Mollweide"

102038,label:

The_World_From_Space"

26985,label:

NAD_1983_StatePlane_Maryland_FIPS_1900"

26912,label:

NAD_1983_UTM_Zone_12N"

}

]);

privatefunctionmyClickHandler(event:

MapMouseEvent):

void

{

lastClick=event.mapPoint;

varcoordGraphic:

Graphic=newGraphic(lastClick);

myGraphicsLayer.clear();

myGraphicsLayer.add(coordGraphic);

projectNow();

}

privatefunctionprojectNow():

varoutSR:

SpatialReference=newSpatialReference(wkid.selectedItem.data);

constprojectParameters:

ProjectParameters=newProjectParameters;

projectParameters.geometries=[lastClickasGeometry];

projectParameters.outSpatialReference=outSR;

geometryService.project(projectParameters);

infoWindowText="

Fromwkid="

+myMap.spatialReference.wkid+"

:

\nX:

+lastClick.x+"

\nY:

+lastClick.y;

myMap.infoWindow.show(lastClick);

privatefunctionprojectCompleteHandler(event:

GeometryServiceEvent):

try

{

varpt:

MapPoint=(event.resultasArray)[0]asMapPoint;

vartextArea:

TextArea=newTextArea();

textArea.editable=false;

textArea.width=170;

textArea.height=130;

infoWindowText=infoWindowText.concat("

\r\nTowkid="

+wkid.selectedItem.data+"

\n"

+"

X:

+pt.x+"

Y:

+pt.y);

textArea.text=infoWindowText;

myMap.infoWindow.label="

Coordinates"

myMap.infoWindow.content=textArea;

}

catch(error:

Error)

Alert.show(error.toString());

protectedfunctiongeometryService_faultHandler(event:

FaultEvent):

Alert.show(event.fault.faultString+"

\n\n"

+event.fault.faultDetail,"

GeometryServiceError"

+event.fault.faultCode);

protectedfunctionwkid_changeHandler(event:

IndexChangeEvent):

if(lastClick)

projectNow();

图3-1编辑元素功能

图3-2指定位置拉框放大及切换底图

图3-3插入地标元素

图3-4删除地标元素

作业4

完成ArcGISRESTAPI的各种应用开发方法试验,如浏览器非编程,JavascriptAPI编程,FlexAPI编程,以及不采用API直接编程的方法等

17-28

浏览器、ArcGIS_Server_9.3_REST中文基础教程

REST即表征状态转移。

是一组架构约束条件和原则。

满足这些约束条件和原则的应用程序或设计就是RESTful。

需要注意的是,REST是设计风格而不是标准。

REST通常基于使用HTTP,URI,和XML(标准通用标记语言下的一个子集)以及HTML(标准通用标记语言下的一个应用)这些现有的广泛流行的协议和标准。

REST定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的Web服务,包括使用不同语言编写的客户端如何通过HTTP处理和传输资源状态。

如果考虑使用它的Web服务的数量,REST近年来已经成为最主要的Web服务设计模式。

事实上,REST对Web的影响非常大,由于其使用相当方便,已经普遍地取代了基于SOAP和WSDL的接口设计。

作业4-1

浏览器非编程,通过地址栏输入URL地址实现服务

实现过程:

在浏览器地址栏查找ArcGIS的服务,将后缀改为?

f=image就可显示相应的地图服务如下所示

作业4-2

使用ArcGISServer的JavaScriptAPI,创建地图网站

图4-2-1整体效果图

作业4-3

使用ArcGISServer的FlexAPI,创建网络地图服务

作业4-4

直接使用Javascript编程实现对RESTAPI的调用使用

language="

javascript"

varrequest=null;

//根据不同浏览器创建请求对象

functioncreateRequest()

{

try{

request=newXMLHttpRequest();

catch(trymicrosoft)

request=newActiveXObject("

Msxm12.XMLHTTP"

catch(othermicrosoft)

Microsoft.XMLHTTP"

catch(faild)

request=null;

if(request==null)

alert("

创建request对象失败"

functionsendRESTrequest()

createRequest();

varrestURL="

http:

//localhost/ArcGIS/rest/services/World/MapServer/0?

f=json"

//构建的RESTURL

request.open("

GET"

restURL,true);

//请求对象初始化连接

request.onreadystatechange=processResponse;

//设置服务器响应请求后的回调函数

request.send(null);

//向服务器发送请求

functionprocessResponse()

{

if(request.readyState==4)//readystate有4个值“1:

连接刚被初始化;

{//2:

正在处理请求;

3:

服务器快要完成请求;

4:

请求完成,浏览器得到响应”

varresponse=eval('

('

+request.responseText+'

)'

//返回的是一个文本,需要用eval函数转成json对象

图层ID:

"

+response.id+"

+

图层名:

+response.name+"

图层的显示字段:

+response.displayField);

图4-4-1发布地图服务

图4-4-2对图层URL访问结果展示

作业4-5

直接使用Flex编程实现对RESTAPI的调用及使用

privatefunctiondoFind():

void

{

findTask.execute(myFindParams);

}

privatefunctionexecuteCompleteHandler(event:

FindEvent):

myGraphicsLayer.clear();

findsth.headerText="

查询结果:

找到"

+event.findResults.length+"

个"

myGraphicsLayer.symbol=sfsFind;

varresultCount:

int=event.findResults.length;

if(resultCount==0)

{

Alert.show("

抱歉没有找到,请重新搜索"

}

else

for(vari:

int=0;

i<

resultCount;

i++)

{

vargraphic:

Graphic=FindResult(event.findResults[i]).feature;

graphic.toolTip=event.findResults[i].foundFieldName+"

+event.findResults[i].value;

myGraphicsLayer.add(graphic);

}vargraphicProvider:

ArrayCollection=myGraphicsLayer.graphicProviderasArrayCollection;

vargraphicsExtent:

Extent=GraphicUtil.getGraphicsExtent(graphicProvider.toArray());

map.extent=graphicsExtent.expand(1.4);

}]]>

/fx:

Script>

privatefunctiondoPrint(myFlexPrintJobScaleType:

String):

{

varmyPrintJob:

FlexPrintJob=newFlexPrintJob();

if(myPrintJob.start())

{map.zoomSliderVisible=false;

myPrintJob.addObject(myPanel,myFlexPrintJobScaleType);

map.zoomSliderVisible=true;

catch(e:

Alert.show(e.toString());

myPrintJob.send();

图4-5-1修改并发布矢量图层

图4-5-2矢量图层发布结果

图4-5-3矢量地图调用

图4-5-4实现查询功能并高亮显示

图4-5-6打印地图功能

总结与感悟

通过本学期上机实习,我充分的学习和了解了REST服务的相关概念,对URL的使用有了更近一步的了解。

初步了解学习了Javascript的编程,以及各类地图API的调用方法。

而对于REST这个风格的网络服务制作,还需要进一步的接触与探索,总之,学无止境。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1