列车时刻表查询小结_列车时刻查询表
列车时刻表查询小结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“列车时刻查询表”。
列车时刻表查询小结
信息0911-2009822103-刘绘
本章主要讲述的是通过列车时刻表查询程序怎样对Google地图的二次开发,从而在网站上创建功能全面的地图应用
一、Google地图API是一种通过javaScript将Google地图嵌入到网页的API。它提供了很多处理地图的功能和地图添加内容的服务,从而在网站上创建功能全面的地图应用
1.熟练使用地图查找你所要查看的某个具体的地址 2.找到某个地方火车站的经纬度
3.显示某个列车的行走路线,一般是折线图,将坐标点连起来,一般是最短路线 4.叠加层是地图上绑定到经度纬度坐标的对象,会随您拖动或缩放地图而移动。叠加层用于反映您添加到地图上以指明点、线或区域的对象,代码如下
var map;var geocoder;var siteName=[<%=strSiteList%>];var siteLocation = new Array();function initialize(){
var myLatLng = new google.maps.LatLng(31.587074,120.305551);var myOptions = { zoom: 4, center: myLatLng, mapTypeId: google.maps.MapTypeId.ROADMAP };
map = new google.maps.Map(document.getElementById(“map_canvas”), myOptions);
geocoder = new google.maps.Geocoder();for(var i = 0;i
codeAddre(i);} }
function codeAddre(i){ var addre=siteName[i];geocoder.geocode({ 'addre': addre}, function(results, status){ if(status == google.maps.GeocoderStatus.OK){ //alert(addre + “:” +results[0].geometry.location);siteLocation.push(results[0].geometry.location);var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location, title:addre });//画线
var flightPath = new google.maps.Polyline({ path: siteLocation, strokeColor: “#FF0000”, strokeOpacity: 1.0, strokeWeight: 2, map:map });
} else { alert(“Geocode was not succeful for the following reason: ” + status);} });} function Button1_onclick(){ var meage ='this';new window.alert(meage);
二、数据库
1、数据库只需要一张表
2、新建系统存储过程Proc_GetStationListByID,Proc_GetTrainDetailByNo,Proc_GetTrainListByFromTo,Proc_GetTrainListByNO,Proc_GetTrainListByStation用以存储数据。其实存储过程就和函数差不多 将常处理的业务写成一个存储过程,要用到是只要调用就可以了,具体可以参照函数理解,什么情况下用?一般在开发中,分工明确的都是数据库程序员写好存储过程,业务程序员要操作数据库时只需调用存储过程,传入相应参数,然后获取返回结果就可以了。
3、Proc_GetTrainListByFromTo的存储过程如下:
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go
ALTER PROCEDURE [dbo].[Proc_GetTrainListByFromTo]
AS BEGIN select t1.[ID] as 车次,t1.[Type] as 列车类型, t1.Station as 始发站,t1.D_Time as 发车时间, @StartStation varchar(50), @EndStation varchar(50)
t2.Station as 终点站,t2.A_Time as 到站时间, t2.[Day] as 天数,t2.Distance as 里程, t3.Station as 出发站,t3.A_Time as 出发站到站时间, t3.D_Time as 出发站发车时间,t3.[Day] as 出发站天数, t4.Station as 目的站,t4.A_Time as 目的站到站时间, t4.D_Time as 目的站发车时间,t4.[Day] as 目的站天数,--票价
dbo.Fun_GetPriceByFromTo(t1.[ID],t3.S_No,t4.S_No)as 票价 from(select * from train where [ID] in(select distinct t1.id from(select * from train where station like '%'+@StartStation+'%')t1 join(select * from train where station like '%'+@EndStation+'%')t2 on t1.id=t2.id and t1.s_no
select * from train where [ID] in(select distinct t1.id from(select * from train where station like '%'+@StartStation+'%')t1 join(select * from train where station like '%'+@EndStation+'%')t2 on t1.id=t2.id and t1.s_no
)t3 on t1.id=t3.id join(select * from train where station like '%'+@EndStation+'%')t4 on t1.id=t4.id END
三、Train程序编写
1、新建一个调用类Query,用来调用系统存储过程
public static DataTable GetTrainListByID(string id){ DataTable dt = new DataTable();//........SqlParameter[] parms = new SqlParameter[1];parms[0] = new SqlParameter(“@NO”, SqlDbType.VarChar, 50);parms[0].Value = id;DataSet ds = DbHelperSQL.RunProcedure(“Proc_GetTrainListByNO”, parms, “ds”);dt = ds.Tables[0];return dt;}
2、通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务。这样是使工作简单了。
[WebMethod] public DataTable GetTrainListByID(string id){ return Query.GetTrainListByID(id);}
[WebMethod] public DataTable GetTrainListByStation(string station){ return Query.GetTrainListByStation(station);} [WebMethod] public DataTable GetTrainListByFromTo(string from, string to){ return Query.GetTrainListByFromTo(from, to);}