自定义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的方式写的,同类型可参考哦~ ------------------------- ...
随机推荐
- Linux所有者和组
组 添加组 groupadd 组名 查看所有组 cat /etc/group 添加成员useradd -g 组名 用户名 查看成员 cat /etc/passwd 查看用户权限 ls -l d rw ...
- BW CUBE 数据的聚集和压缩
大家都知道,压缩和聚集都是提高bw性能的方法,在新版bw里,压缩名称改成了折叠,聚集放在了滚动菜单里---集合.那么我们在使用这两种方法时需要注意的先创建聚集以后,再进行压缩,因为压缩的过程是把F表的 ...
- SSD硬盘 全盘安全擦除
此文From http://ssd.zol.com.cn/575/5753057.html 在SSD固态硬盘的使用过程中,部分用户可能会碰到计算机意外掉电或死机并强行断电后,系统出现异常,扫描SSD后 ...
- Two classes have the same XML type name 排错【转】
今天遇到一个问题,webservice发布的时候报下面的错误: <strong>Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotati ...
- C# 接口的隐式与显示实现
隐式实现的话实现的方法属于实现的类的,可以直接通过类的对象访问,显式实现的话方法是属于接口的,可以看成是寄托在类中实现的,访问这些方法时要先把对象转换成接口对象,然后通过接口对象调用 一般来讲显式实现 ...
- TSPL学习笔记(3):排序算法练习
快速排序 快排的详细介绍见,简单的说就是取输入序列中的首元素m,然后将除首元素m以外的其它元素分成两组,小于等于m的一组和大于m的一组.将3组元素组合成输入队列:小于等于m + m + 大于m. 下面 ...
- OAuth介绍
1.认识OAUTH OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息 (如用户名与密码),即第三方无需使用 ...
- Jquery中使用setInterval和setTimeout会提示缺少对象的错误,解决方法如下:
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...
- mongodb存储过程
MongoDB支持存储过程的使用,它的存储过程是用javascript实现的,被存在于system.js表中,可以接收和输出参数,返回执行存储过程的状态值,也可以嵌套调用. 所以我理解的Mon ...
- windows 程序设计自学:添加字符串资源
#include <windows.h> #include "resource.h" LRESULT CALLBACK MyWndProc( HWND hwnd, // ...