1. @{
  2. ViewBag.Title = "GIS地图";
  3. Layout = null;
  4. }
  5.  
  6. @model HFSoft.Plat.UIWeb.Models.MapShowDataVO
  7.  
  8. <style>
  9. body, html, #allmap { width: %;height: %;overflow: hidden;margin: ;}
  10.  
  11. table {width: %;border-collapse: collapse; border: 1px #b8b8bf solid; }
  12. table tr td{ border: 1px #b8b8bf solid;height:22px;}
  13. table tr th{ border: 1px #b8b8bf solid; height:22px;line-height:22px;text-align:center;font-weight:normal;}
  14. .tabPanel {width:480px;height:280px;}
  15. .tabPanel ul {height: 30px;border-bottom: 1px solid #aaa;}
  16. .tabPanel ul li {list-style-type:none;float: left;margin: 2px ;border: 1px solid #aaa;height: 29px;line-height: 30px;width:80px;text-align: center;cursor:pointer;
  17. text-shadow: 1px #fff;border-radius: 4px 4px ;box-shadow: inset 1px rgba(, , , 0.5);background: #ddd;background: -moz-linear-gradient(top, #eee, #ddd);
  18. background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#ddd));
  19. }
  20. .tabPanel .hit {border-bottom: 1px solid #fff;cursor: pointer;color: black;text-shadow: 1px #fff;
  21. background: #fff;
  22. background: -webkit-gradient(linear, left top, left bottom, from(#e1e1e1), to(#fff));
  23. background: -moz-linear-gradient(top, #e1e1e1, #fff);
  24. }
  25. .pane {border: 0px solid #aaa;border-top: ;min-height: 100px; background-color: #fff;display: none;}
  26. .pane p {padding:0px;}
  27. </style>
  28.  
  29. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=@(Model.MapBaseInfoItem.ApiAk)"></script>
  30.  
  31. <div class="easyui-layout" style="width: 100%; height: 100%;">
  32. <div id="allmap" style="fit:fill"></div>
  33. </div>
  34. <script type="text/javascript">
  35. var v_ZoomLevel = "@(Model.MapBaseInfoItem.ZoomLevel.ToString())";
  36. var v_CityName = "@(Model.MapBaseInfoItem.CityName)";
  37. var v_Lng = "@(Model.MapBaseInfoItem.Longitude)";
  38. var v_Lat = "@(Model.MapBaseInfoItem.Latitude)";
  39. var v_StationID = "@ViewBag.StationID";
  40.  
  41. // 百度地图API功能
  42. var map = new BMap.Map("allmap");// 创建Map实例
  43. map.centerAndZoom(new BMap.Point(v_Lng, v_Lat), v_ZoomLevel); // 初始化地图,设置中心点坐标和地图级别 // 初始化地图,设置中心点坐标和地图级别
  44. var top_left_navigation = new BMap.NavigationControl(); //左上角,添加默认缩放平移控件
  45. map.addControl(top_left_navigation);
  46. map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
  47. map.setCurrentCity(v_CityName); // 设置地图显示的城市 此项是必须设置的
  48. map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
  49.  
  50. //从后台将要显示的数据变到JSON变量中
  51. var viewMapModel = {
  52. id: ,
  53. StationData: [
  54. @if (Model != null)
  55. {
  56. var List = Model.StationList;
  57. for (int i = ; i < List.Count; i++)
  58. {
  59. var item = List[i];
  60. if (i != List.Count - )
  61. {
  62. @:{ StationID: '@item.StationID', StationName: '@item.StationName', Longitude: '@item.Longitude', Latitude: '@item.Latitude', ReservoirName: '@item.ReservoirName', LinkMan: '@item.Linkman', MobilePhone: '@item.MobilePhone', Addresses: '@item.Addresses', Remark: '@item.Remark' },
  63. }
  64. else
  65. {
  66. @:{ StationID: '@item.StationID', StationName: '@item.StationName', Longitude: '@item.Longitude', Latitude: '@item.Latitude', ReservoirName: '@item.ReservoirName', LinkMan: '@item.Linkman', MobilePhone: '@item.MobilePhone', Addresses: '@item.Addresses', Remark: '@item.Remark' }
  67. }
  68. }
  69. }
  70. ],
  71. GateData: [
  72. @if (Model != null)
  73. {
  74. var GateList = Model.GateList;
  75. for (int i = ; i < GateList.Count; i++)
  76. {
  77. var item = GateList[i];
  78. if (i != GateList.Count - )
  79. {
  80. @:{},
  81. }
  82. else
  83. {
  84. @:{}
  85. }
  86. }
  87. }
  88. ]
  89. };
  90.  
  91. var markers = [];
  92. var stationItem = null;
  93.  
  94. $(document).ready(function () {
  95. pointMapSite();
  96. if (markers.length > ) {
  97. for (var j = ; j < markers.length; j++) {
  98. showInfo(markers[j], stationItem);
  99. break;
  100. }
  101. }
  102. });
  103.  
  104. function pointMapSite() {
  105. if (viewMapModel != null && viewMapModel.StationData.length > ) {
  106.  
  107. for (var i = ; i < viewMapModel.StationData.length; i++) {
  108. var stationid = viewMapModel.StationData[i].StationID;
  109. var stationname = viewMapModel.StationData[i].StationName;
  110. var Longitude = viewMapModel.StationData[i].Longitude;
  111. var Latitude = viewMapModel.StationData[i].Latitude;
  112.  
  113. var mkr = new BMap.Marker(new BMap.Point(Longitude, Latitude));
  114.  
  115. map.addOverlay(mkr);
  116.  
  117. if (v_StationID == stationid) {
  118. markers.push(mkr);
  119. stationItem = viewMapModel.StationData[i];
  120. }
  121.  
  122. //给标注点添加点击事件。使用立即执行函数和闭包
  123. (function () {
  124. var StationModel = viewMapModel.StationData[i];
  125. mkr.addEventListener("click", function () {
  126. showInfo(this, StationModel);
  127. });
  128. })();
  129. }
  130. }
  131. }
  132.  
  133. function showInfo(thisMaker, item) {
  134. var sContent = '<div class="tabPanel">'
  135. + '<ul>'
  136. + '<li id="tab1" class="hit" onclick=\'javascript:showTab(1);\'></li>'
  137. + '<li id="tab2" onclick=\'javascript:showTab(2);\'></li>'
  138. + '<li id="tab3" onclick=\'javascript:showTab(3);\'></li>'
  139. + '</ul>'
  140. + '<div class="panes">'
  141. + '<div class="pane" style="display:block;"><p>'
  142. + '<table>'
  143. + '<tr>'
  144. + '<td style="text-align:right;padding:5px;width:80px;">:</td>'
  145. + '<td>' + item.StationName + '</td>'
  146. + '<td rowspan="5" style="width:100px;">'
  147. + '<img src="/Content/images/noimage.png" style="width:160px;height:160px;" />'
  148. + '</td>'
  149. + '</tr>'
  150. + '<tr>'
  151. + '<td style="text-align:right;padding:5px;">:</td>'
  152. + '<td>' + item.ReservoirName + '</td>'
  153. + '</tr>'
  154. + '<tr> '
  155. + '<td style="text-align:right;padding:5px;">:</td>'
  156. + '<td>' + item.LinkMan + '</td>'
  157. + '</tr>'
  158. + '<tr>'
  159. + '<td style="text-align:right;padding:5px;">:</td>'
  160. + '<td>' + item.MobilePhone + '</td>'
  161. + '</tr> '
  162. + '<tr>'
  163. + '<td style="text-align:right;padding:5px;">:</td>'
  164. + '<td>' + item.Addresses + '</td> '
  165. + '</tr>'
  166. + '<tr>'
  167. + '<td style="text-align:right;padding:5px;">:</td>'
  168. + '<td colspan="2">' + item.Remark + '</td>'
  169. + '</tr>'
  170. + '</table>'
  171. + '</p></div>'
  172. + '<div class="pane"><p>2</p></div>'
  173. + '<div class="pane"><p>3</p></div>'
  174. + '</div>'
  175. + '</div>';
  176.  
  177. var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象
  178. thisMaker.openInfoWindow(infoWindow); //图片加载完毕重绘infowindow
  179. }
  180.  
  181. function showTab(id) {
  182. $('#tab' + id).addClass('hit').siblings().removeClass('hit');
  183. $('.panes>div:eq(' + (id - ) + ')').show().siblings().hide();
  184. }

自定义tab在地图进行分页显示的更多相关文章

  1. 百度地图JavaScript API自定义覆盖物、自定义信息窗口增删时的显示问题

    项目中,需求:在百度地图上实时画出车辆,并能点击车辆弹出信息框查看实时信息. 实现:通过不停的画覆盖物并删除掉.点击覆盖物时弹出信息窗口. 问题:删除掉覆盖物后信息窗也删除掉了.因为信息窗是建立在覆盖 ...

  2. 《ASP.NET1200例》<asp:DataList>分页显示图片

    aspx页面代码 <asp:DataList ID="dlPhoto" runat="server" Height="137px" W ...

  3. day70 cookie & session 前后端交互分页显示

    本文转载自qimi博客,cnblog.liwenzhou.com 概要: 我们的cookie是保存在浏览器中的键值对 为什么要有cookie? 我们在访问浏览器的时候,千万个人访问同一个页面,我们只要 ...

  4. TabLayout自定义tab,实现多样导航栏

    代码地址如下:http://www.demodashi.com/demo/14660.html 前言 之前有讲过TabLayout的一些知识, TabLayout实现顶部导航(一) TabLayout ...

  5. [网页游戏开发]容器的使用及自定义Tab,RadioGroup,List,ViewStack

    Morn里面,容器和其他普通组件不同,无需皮肤,所以也不能从组件树种拖动创建(Tab,RadioGroup例外),只能转换而来 Morn的容器组件主要有Box,Container,Panel,Tab, ...

  6. flask 前端 分页 显示

    # flask 前端 分页 显示 1.分页原理 web查询大量数据并显示时有有三种方式: 从数据库中查询全部,在view/客户端筛选/分页:不能应对记录大多的情况,一般不使用: 分页查询,每次在数据库 ...

  7. day81:luffy:课程分类页面&课程信息页面&指定分类显示课程信息&分页显示课程信息

    目录 1.构建课程前端初始页面 2.course后端的准备工作 3.后端实现课程分类列表接口 4.前端发送请求-获取课程分类信息 5.后端实现课程列表信息的接口 6.前端显示列表课程信息 7.按照指定 ...

  8. 微信小程序自定义tab,多层tab嵌套实现

    小程序最近是越来越火了-- 做小程序有一段时间了,总结一下项目中遇到的问题及解决办法吧. 项目中有个多 tab 嵌套的需求,进入程序主界面下面有两个 tab,进入A模块后,A模块最底下又有多个tab, ...

  9. C#关于分页显示

    ---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...

随机推荐

  1. Lua在给定范围内,生成指定个数不重复随机数组

    本篇主要是参考 lua连续随机数 这篇文章完成.大家可以去原贴查看学习. 生成随机数组,暂时发现两种方法 1.把生成的数放到一个表里面,每次随机时判断这个表里是否有,若有再随机一次(问了朋友,很多人都 ...

  2. LoadRunner性能测试结果分析

    LoadRunner性能测试结果分析http://www.docin.com/p-793607435.html

  3. ci配置smarty手记

    需要用ci来写一个后台配置smarty,在网络上能够找到一些相关的文章.但是都是比较旧的内容,大部分是smary2.*的配置方法.按照这个配置后会出现一些错误.其实配置看smary官方会比较简单. 基 ...

  4. 我的首个MOOC课程《面向对象软件开发实践》

    我的首个MOOC课程<面向对象软件开发实践> 我将在网易云课堂开讲MOOC课<面向对象软件开发实践>(http://mooc.study.163.com/course/YOOK ...

  5. SQL server 数据库连接方式分析

    SQL server 数据库连接方式图示: ODBC和OLEDB连接的区别 ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口技术.它实际上是ADO的前身.早期的数据库连接是非常 ...

  6. java基本加密算法

    简单的java加密算法有: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algor ...

  7. [JAVA词形还原工具]Snowball

    demo:http://snowball.tartarus.org/demo.php jar download:http://snowball.tartarus.org/download.php (J ...

  8. Money类

    public class Money { /// <summary> /// 要转换的数字 /// </summary> private double j; private s ...

  9. .Net底层剖析目录章节

    [.Net底层剖析]目录章节 1.[深入浅出.Net IL]1.一个For循环引发的IL 2.[.Net底层剖析]2.stfld指令-给对象的字段赋值 3.[.Net底层剖析]3.用IL来理解属性 作 ...

  10. ruby -- 基础学习(六)时间计算

    计算下一天的这个时刻, # 比如"2013-8-16 18:45:12" 的下一天的这个时刻 “2013-8-17 18:45:12” Time.now + 1.day 如果想得到 ...