自定义tab在地图进行分页显示
- @{
- ViewBag.Title = "GIS地图";
- Layout = null;
- }
- @model HFSoft.Plat.UIWeb.Models.MapShowDataVO
- <style>
- body, html, #allmap { width: %;height: %;overflow: hidden;margin: ;}
- table {width: %;border-collapse: collapse; border: 1px #b8b8bf solid; }
- table tr td{ border: 1px #b8b8bf solid;height:22px;}
- table tr th{ border: 1px #b8b8bf solid; height:22px;line-height:22px;text-align:center;font-weight:normal;}
- .tabPanel {width:480px;height:280px;}
- .tabPanel ul {height: 30px;border-bottom: 1px solid #aaa;}
- .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;
- text-shadow: 1px #fff;border-radius: 4px 4px ;box-shadow: inset 1px rgba(, , , 0.5);background: #ddd;background: -moz-linear-gradient(top, #eee, #ddd);
- background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#ddd));
- }
- .tabPanel .hit {border-bottom: 1px solid #fff;cursor: pointer;color: black;text-shadow: 1px #fff;
- background: #fff;
- background: -webkit-gradient(linear, left top, left bottom, from(#e1e1e1), to(#fff));
- background: -moz-linear-gradient(top, #e1e1e1, #fff);
- }
- .pane {border: 0px solid #aaa;border-top: ;min-height: 100px; background-color: #fff;display: none;}
- .pane p {padding:0px;}
- </style>
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=@(Model.MapBaseInfoItem.ApiAk)"></script>
- <div class="easyui-layout" style="width: 100%; height: 100%;">
- <div id="allmap" style="fit:fill"></div>
- </div>
- <script type="text/javascript">
- var v_ZoomLevel = "@(Model.MapBaseInfoItem.ZoomLevel.ToString())";
- var v_CityName = "@(Model.MapBaseInfoItem.CityName)";
- var v_Lng = "@(Model.MapBaseInfoItem.Longitude)";
- var v_Lat = "@(Model.MapBaseInfoItem.Latitude)";
- var v_StationID = "@ViewBag.StationID";
- // 百度地图API功能
- var map = new BMap.Map("allmap");// 创建Map实例
- map.centerAndZoom(new BMap.Point(v_Lng, v_Lat), v_ZoomLevel); // 初始化地图,设置中心点坐标和地图级别 // 初始化地图,设置中心点坐标和地图级别
- var top_left_navigation = new BMap.NavigationControl(); //左上角,添加默认缩放平移控件
- map.addControl(top_left_navigation);
- map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
- map.setCurrentCity(v_CityName); // 设置地图显示的城市 此项是必须设置的
- map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
- //从后台将要显示的数据变到JSON变量中
- var viewMapModel = {
- id: ,
- StationData: [
- @if (Model != null)
- {
- var List = Model.StationList;
- for (int i = ; i < List.Count; i++)
- {
- var item = List[i];
- if (i != List.Count - )
- {
- @:{ 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' },
- }
- else
- {
- @:{ 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' }
- }
- }
- }
- ],
- GateData: [
- @if (Model != null)
- {
- var GateList = Model.GateList;
- for (int i = ; i < GateList.Count; i++)
- {
- var item = GateList[i];
- if (i != GateList.Count - )
- {
- @:{},
- }
- else
- {
- @:{}
- }
- }
- }
- ]
- };
- var markers = [];
- var stationItem = null;
- $(document).ready(function () {
- pointMapSite();
- if (markers.length > ) {
- for (var j = ; j < markers.length; j++) {
- showInfo(markers[j], stationItem);
- break;
- }
- }
- });
- function pointMapSite() {
- if (viewMapModel != null && viewMapModel.StationData.length > ) {
- for (var i = ; i < viewMapModel.StationData.length; i++) {
- var stationid = viewMapModel.StationData[i].StationID;
- var stationname = viewMapModel.StationData[i].StationName;
- var Longitude = viewMapModel.StationData[i].Longitude;
- var Latitude = viewMapModel.StationData[i].Latitude;
- var mkr = new BMap.Marker(new BMap.Point(Longitude, Latitude));
- map.addOverlay(mkr);
- if (v_StationID == stationid) {
- markers.push(mkr);
- stationItem = viewMapModel.StationData[i];
- }
- //给标注点添加点击事件。使用立即执行函数和闭包
- (function () {
- var StationModel = viewMapModel.StationData[i];
- mkr.addEventListener("click", function () {
- showInfo(this, StationModel);
- });
- })();
- }
- }
- }
- function showInfo(thisMaker, item) {
- var sContent = '<div class="tabPanel">'
- + '<ul>'
- + '<li id="tab1" class="hit" onclick=\'javascript:showTab(1);\'></li>'
- + '<li id="tab2" onclick=\'javascript:showTab(2);\'></li>'
- + '<li id="tab3" onclick=\'javascript:showTab(3);\'></li>'
- + '</ul>'
- + '<div class="panes">'
- + '<div class="pane" style="display:block;"><p>'
- + '<table>'
- + '<tr>'
- + '<td style="text-align:right;padding:5px;width:80px;">:</td>'
- + '<td>' + item.StationName + '</td>'
- + '<td rowspan="5" style="width:100px;">'
- + '<img src="/Content/images/noimage.png" style="width:160px;height:160px;" />'
- + '</td>'
- + '</tr>'
- + '<tr>'
- + '<td style="text-align:right;padding:5px;">:</td>'
- + '<td>' + item.ReservoirName + '</td>'
- + '</tr>'
- + '<tr> '
- + '<td style="text-align:right;padding:5px;">:</td>'
- + '<td>' + item.LinkMan + '</td>'
- + '</tr>'
- + '<tr>'
- + '<td style="text-align:right;padding:5px;">:</td>'
- + '<td>' + item.MobilePhone + '</td>'
- + '</tr> '
- + '<tr>'
- + '<td style="text-align:right;padding:5px;">:</td>'
- + '<td>' + item.Addresses + '</td> '
- + '</tr>'
- + '<tr>'
- + '<td style="text-align:right;padding:5px;">:</td>'
- + '<td colspan="2">' + item.Remark + '</td>'
- + '</tr>'
- + '</table>'
- + '</p></div>'
- + '<div class="pane"><p>2</p></div>'
- + '<div class="pane"><p>3</p></div>'
- + '</div>'
- + '</div>';
- var infoWindow = new BMap.InfoWindow(sContent); // 创建信息窗口对象
- thisMaker.openInfoWindow(infoWindow); //图片加载完毕重绘infowindow
- }
- function showTab(id) {
- $('#tab' + id).addClass('hit').siblings().removeClass('hit');
- $('.panes>div:eq(' + (id - ) + ')').show().siblings().hide();
- }
自定义tab在地图进行分页显示的更多相关文章
- 百度地图JavaScript API自定义覆盖物、自定义信息窗口增删时的显示问题
项目中,需求:在百度地图上实时画出车辆,并能点击车辆弹出信息框查看实时信息. 实现:通过不停的画覆盖物并删除掉.点击覆盖物时弹出信息窗口. 问题:删除掉覆盖物后信息窗也删除掉了.因为信息窗是建立在覆盖 ...
- 《ASP.NET1200例》<asp:DataList>分页显示图片
aspx页面代码 <asp:DataList ID="dlPhoto" runat="server" Height="137px" W ...
- day70 cookie & session 前后端交互分页显示
本文转载自qimi博客,cnblog.liwenzhou.com 概要: 我们的cookie是保存在浏览器中的键值对 为什么要有cookie? 我们在访问浏览器的时候,千万个人访问同一个页面,我们只要 ...
- TabLayout自定义tab,实现多样导航栏
代码地址如下:http://www.demodashi.com/demo/14660.html 前言 之前有讲过TabLayout的一些知识, TabLayout实现顶部导航(一) TabLayout ...
- [网页游戏开发]容器的使用及自定义Tab,RadioGroup,List,ViewStack
Morn里面,容器和其他普通组件不同,无需皮肤,所以也不能从组件树种拖动创建(Tab,RadioGroup例外),只能转换而来 Morn的容器组件主要有Box,Container,Panel,Tab, ...
- flask 前端 分页 显示
# flask 前端 分页 显示 1.分页原理 web查询大量数据并显示时有有三种方式: 从数据库中查询全部,在view/客户端筛选/分页:不能应对记录大多的情况,一般不使用: 分页查询,每次在数据库 ...
- day81:luffy:课程分类页面&课程信息页面&指定分类显示课程信息&分页显示课程信息
目录 1.构建课程前端初始页面 2.course后端的准备工作 3.后端实现课程分类列表接口 4.前端发送请求-获取课程分类信息 5.后端实现课程列表信息的接口 6.前端显示列表课程信息 7.按照指定 ...
- 微信小程序自定义tab,多层tab嵌套实现
小程序最近是越来越火了-- 做小程序有一段时间了,总结一下项目中遇到的问题及解决办法吧. 项目中有个多 tab 嵌套的需求,进入程序主界面下面有两个 tab,进入A模块后,A模块最底下又有多个tab, ...
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...
随机推荐
- Lua在给定范围内,生成指定个数不重复随机数组
本篇主要是参考 lua连续随机数 这篇文章完成.大家可以去原贴查看学习. 生成随机数组,暂时发现两种方法 1.把生成的数放到一个表里面,每次随机时判断这个表里是否有,若有再随机一次(问了朋友,很多人都 ...
- LoadRunner性能测试结果分析
LoadRunner性能测试结果分析http://www.docin.com/p-793607435.html
- ci配置smarty手记
需要用ci来写一个后台配置smarty,在网络上能够找到一些相关的文章.但是都是比较旧的内容,大部分是smary2.*的配置方法.按照这个配置后会出现一些错误.其实配置看smary官方会比较简单. 基 ...
- 我的首个MOOC课程《面向对象软件开发实践》
我的首个MOOC课程<面向对象软件开发实践> 我将在网易云课堂开讲MOOC课<面向对象软件开发实践>(http://mooc.study.163.com/course/YOOK ...
- SQL server 数据库连接方式分析
SQL server 数据库连接方式图示: ODBC和OLEDB连接的区别 ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口技术.它实际上是ADO的前身.早期的数据库连接是非常 ...
- java基本加密算法
简单的java加密算法有: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algor ...
- [JAVA词形还原工具]Snowball
demo:http://snowball.tartarus.org/demo.php jar download:http://snowball.tartarus.org/download.php (J ...
- Money类
public class Money { /// <summary> /// 要转换的数字 /// </summary> private double j; private s ...
- .Net底层剖析目录章节
[.Net底层剖析]目录章节 1.[深入浅出.Net IL]1.一个For循环引发的IL 2.[.Net底层剖析]2.stfld指令-给对象的字段赋值 3.[.Net底层剖析]3.用IL来理解属性 作 ...
- ruby -- 基础学习(六)时间计算
计算下一天的这个时刻, # 比如"2013-8-16 18:45:12" 的下一天的这个时刻 “2013-8-17 18:45:12” Time.now + 1.day 如果想得到 ...