using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Text; using Subgurim.Controles; using System.Web.Security; using Tuff; public partial class Action_CarWarnLocation : System.Web.UI.Page { SysUser sysUser = null; GetLocationWebReference.GetLocation getlocation = new GetLocationWebReference.GetLocation(); protected void Page_Init(object sender, EventArgs e) { // 用户登录信息 sysUser = (SysUser)Session["SysUser"]; } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { GMap1.Key = WebPublic.GetGoogleMarAPIKey(); GMap1.addControl(new GControl(GControl.preBuilt.GOverviewMapControl)); GMap1.addControl(new GControl(GControl.preBuilt.LargeMapControl)); GMap1.addControl(new GControl(GControl.preBuilt.ScaleControl)); GMap1.addControl(new GControl(GControl.preBuilt.NavLabelControl)); GMap1.enableGoogleBar = true; GMap1.Language = "ZH-CN"; GMap1.GZoom = 10; GMap1.Width = 590; GMap1.Height = 550; BingDeviceMap();//得到当前应用的所有设备坐标 } } //得到当前应用的所有设备坐标 public void BingDeviceMap() { try { DataSetCustomer.CustomerInfoListDataTable dt = new DataSetCustomer.CustomerInfoListDataTable(); DataSetCustomerTableAdapters.CustomerInfoListTableAdapter ta = new DataSetCustomerTableAdapters.CustomerInfoListTableAdapter(); DataSetDeviceTableAdapters.P_QUERYCARTableAdapter taa = new DataSetDeviceTableAdapters.P_QUERYCARTableAdapter(); DataSetDevice.P_QUERYCARDataTable Cardt = new DataSetDevice.P_QUERYCARDataTable(); DataTable dtNow = getlocation.GeDeviceLocation(null, null, null, WebPublic.GetAppCheckID());//从接活获取设备数据 object obj; taa.Fill(Cardt, string.Empty, string.Empty, string.Empty, string.Empty, out obj); if (dtNow.Rows.Count > 0 || Cardt.Rows.Count > 0) //数据是否表为空判断 { foreach (DataRow datarow in dtNow.Rows) { foreach (DataRow drcar in Cardt.Rows) { if (sysUser.GetNumberByPhone(datarow["SERIANUMBER"].ToString()) == sysUser.Number.ToString()) { string s = sysUser.GetNumberByPhone(datarow["SERIANUMBER"].ToString()); if (s == drcar["CLDQSSYHBH"].ToString()) { string stat = null; foreach (DataRow datarows in dtNow.Rows) { double plat = double.Parse(datarows["LATITUDE"].ToString()); //得到经度 double plon = double.Parse(datarows["LONGITUDE"].ToString()); //得到纬度 GeoCode dc = GMap1.getGeoCodeRequest(new GLatLng(plat, plon)); //解析地址 string cityname = dc.Placemark.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName; //获取地址 string detailaddress = dc.Placemark.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare.ThoroughfareName; //实时详细地址 string sn = datarow["SERIANUMBER"].ToString(); // 得到设备序列号 string number = sysUser.GetNumberByPhone(sn); //得到用户编号 string registercity = sysUser.GetSSQYByNumber(number);//得到用户注册区域 string[] citylist = registercity.Split('/'); string nowcity = citylist[1]; if (!nowcity.Contains(cityname) && !cityname.Contains(nowcity)) //如果符合预警条件 { GMarker marker = new GMarker(new GLatLng(plat, plon)); //创建坐标 GInfoWindow window = new GInfoWindow(marker, "所属用户:" + sysUser.GetNameByNumber(datarows["SERIANUMBER"].ToString()) + "</br>车牌号:" + drcar["CLCPH"].ToString() + "</br>注册所属区域:" + nowcity + "</br>当前所在区域:" + cityname + "</br>当前详细地址:" + detailaddress + "", true);// 添加地图标注 GMap1.addInfoWindow(window); //装载地图 //设置中心点 if (stat == null) { GMap1.setCenter(new GLatLng(plat, plon)); stat = "1"; } } } } } } } } else { GMap1.setCenter(new GLatLng(39.964103, 116.455));// 默认中心点 WebAction.AjaxMessageBox(this, "Error", "无预警车辆!"); } } catch (Exception ex) { WebAction.AjaxMessageBox(this, "ExiD", "拉取数据失败!\n" + ex.Message); } } }
asp.Net采用Gmap实现google map定位
最新推荐文章于 2013-02-04 01:15:33 发布