好贷网好贷款

百度地图API:如何查询数自己的数据库标注地图并让标注显示在最佳视野内

发布时间:2016-12-4 16:29:18 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"百度地图API:如何查询数自己的数据库标注地图并让标注显示在最佳视野内",主要涉及到百度地图API:如何查询数自己的数据库标注地图并让标注显示在最佳视野内方面的内容,对于百度地图API:如何查询数自己的数据库标注地图并让标注显示在最佳视野内感兴趣的同学可以参考一下。

百度地图API:如何查询数自己的数据库标注地图并让标注显示在最佳视野内 分类: 百度地图PAI 2012-09-11 11:27 4052人阅读 评论(3) 收藏 举报 数据库api百度datasetexceptionfunction 由于在实际项目中经常需要查询自己的数据库去标注地图,所以特地写了这个例子,数据库为oracle,把数据库查询出来的数据绑定到前台gridview控件,点击数据中的任何一行,实现标注。效果图: 地图标注代码, [javascript] view plaincopyprint? position,name,address,phone,typeid为后台数据库查询出来的字段   position,name,address,phone,typeid为后台数据库查询出来的字段 [javascript] view plaincopyprint? //地图标注    function maker(position,name,address,phone,typeid) {       map.clearOverlays();       var cc = position;       var x = cc.split(",")       var point=new BMap.Point(x[0], x[1])       var myIcon =new BMap.Icon("images/fly.gif", new BMap.Size(45, 70), { offset: new BMap.Size(0, -5),imageOffset: new BMap.Size(0, 0) });//创建标注图标        var marker = new BMap.Marker(point,{icon:myIcon}); // 创建标注        map.addOverlay(marker); // 将标注添加到地图中        map.centerAndZoom(point,16); //设定地图的中心点和坐标并将地图显示在地图容器中        var opts1 = {title : '<span style="font-size:20px;color:#0A8021">客户详细资料</span>'};       var infoWindow =new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>姓名:  </b>"+name+"</br><b>地址:  </b>"+address+"</br><b>电话:  </b>"+phone+"</br><b>客户类型:  </b>"+typeid+"</br></a></div>", opts1);       marker.addEventListener("click", function () { this.openInfoWindow(infoWindow); });   }   //地图标注 function maker(position,name,address,phone,typeid) { map.clearOverlays(); var cc = position; var x = cc.split(",") var point=new BMap.Point(x[0], x[1]) var myIcon =new BMap.Icon("images/fly.gif", new BMap.Size(45, 70), { offset: new BMap.Size(0, -5),imageOffset: new BMap.Size(0, 0) });//创建标注图标 var marker = new BMap.Marker(point,{icon:myIcon}); // 创建标注 map.addOverlay(marker); // 将标注添加到地图中 map.centerAndZoom(point,16); //设定地图的中心点和坐标并将地图显示在地图容器中 var opts1 = {title : '<span style="font-size:20px;color:#0A8021">客户详细资料</span>'}; var infoWindow =new BMap.InfoWindow("<div style='line-height:1.8em;font-size:12px;'><b>姓名:  </b>"+name+"</br><b>地址:  </b>"+address+"</br><b>电话:  </b>"+phone+"</br><b>客户类型:  </b>"+typeid+"</br></a></div>", opts1); marker.addEventListener("click", function () { this.openInfoWindow(infoWindow); }); } 后台主要代码 [csharp] view plaincopyprint? protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)      {          string position = "";          if (e.Row.RowType == DataControlRowType.DataRow)          {              e.Row.Attributes["onmouseover"] = "ItemOver(this)";              int count = GridView1.Rows.Count;              for (int i = -1; i < count; i++)              {                  position = GridView1.DataKeys[e.Row.RowIndex].Value.ToString();                               }              try              {                  //string sql = "select position,name,address,phone from sys_cust where custid=" + position;                   string sql = "select t.custid,t.position as 坐标,t.name as 姓名,t.address as 地址,t.phone as 电话,t.typeid,s.typeid,s.name as 客户类型 from sys_custtype s,sys_cust t where t.typeid=s.typeid and t.custid=" + position;                  DataSet ds = sqlHelper.getDataSet(sql);                  foreach (DataRow dr in ds.Tables[0].Rows)                  {                      jwd = dr["坐标"].ToString();                      name = dr["姓名"].ToString();                      address = dr["地址"].ToString();                      phone=dr["电话"].ToString();                      typeid=dr["客户类型"].ToString();                  }              }              catch (Exception ee)              {                  Response.Write(ee.Message);              }              e.Row.Attributes.Add("onclick", "maker('" + jwd + "','" + name + "','" + address + "','" + phone + "','" + typeid+ "');");          }      }   protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { string position = ""; if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes["onmouseover"] = "ItemOver(this)"; int count = GridView1.Rows.Count; for (int i = -1; i < count; i++) { position = GridView1.DataKeys[e.Row.RowIndex].Value.ToString(); } try { //string sql = "select position,name,address,phone from sys_cust where custid=" + position; string sql = "select t.custid,t.position as 坐标,t.name as 姓名,t.address as 地址,t.phone as 电话,t.typeid,s.typeid,s.name as 客户类型 from sys_custtype s,sys_cust t where t.typeid=s.typeid and t.custid=" + position; DataSet ds = sqlHelper.getDataSet(sql); foreach (DataRow dr in ds.Tables[0].Rows) { jwd = dr["坐标"].ToString(); name = dr["姓名"].ToString(); address = dr["地址"].ToString(); phone=dr["电话"].ToString(); typeid=dr["客户类型"].ToString(); } } catch (Exception ee) { Response.Write(ee.Message); } e.Row.Attributes.Add("onclick", "maker('" + jwd + "','" + name + "','" + address + "','" + phone + "','" + typeid+ "');"); } } 代码写的比较水,但是可以实现基本功能,高手见笑。 下载地址:下载

上一篇:面试题(一)-------面试中常见的字符串类型题目及思路解答
下一篇:应广大群众的要求,今天开始连载《超容易的Linux系统管理入门书》一书

相关文章

相关评论