解决方案 »
- struts2 使用链接传递参数问题
- jsp页面中表单action=“”为什么表单依然可以提交
- 如何学习 spring jdbc
- 日文系统下,含日文注释的JAVA代码生成到XML后,"①"乱码,请各位帮忙解决,
- 问下各位``什么是OB层的开发啊?
- 项目开发中存储过程使用的疑问
- dom4j 的一个怪异现象
- RSA开发
- 关于jsp中的useBean指令操作javaBean和通过servlet操作javaBean的一些看法和疑惑
- The function equals must be used with a prefix when a default namespace is n
- 如何评估web项目消耗的内存
- 问题很纠结 所以在线等 java 解压完zip 删除不了 怀疑是程序占用 求大神围观
var map;
var untiled;
var tiled;
var imgurl = WebRoot + "admin/js/img/";
//标注图标
var icon = {
0 :imgurl+"hong.png",
1 :imgurl+"huang.png",
2 :imgurl+"fei.png",
3 :imgurl+"nui.png"
}; //画线图层
var lineVectors =new OpenLayers.Layer.Vector("line");
//画点图层
var pointVectors = new OpenLayers.Layer.Vector("point");
//标注图层
var ers = new OpenLayers.Layer.Markers( "ers" );
//var WebRoot = "<c:url value="">";
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 5;
OpenLayers.DOTS_PER_INCH = 25.4 / 0.28;
OpenLayers.ImgPath = WebRoot + "admin/js/img/";
this.init=function(){
format = 'image/png';
var bounds = new OpenLayers.Bounds(
73.447, 6.319,
135.086, 53.558
);
var options = {
controls: [],
maxExtent: bounds,
maxResolution: 0.24077734375,
projection: "EPSG:2010",
resolutions: [
0.1,
// 0.09,
0.08,
// 0.07,
0.06,
// 0.05,
0.04,
// 0.03,
0.02,
// 0.01,
0.009,
// 0.008,
0.007,
// 0.006,
0.005,
// 0.007890625,
// 0.00625,
// 0.00515625,
// 0.00439453125,
// 0.003125,
// 0.003578125
],
minScale:1000000,
numZoomLevels:5,
units: 'm'
};
map = new OpenLayers.Map('map', options);
// setup tiled layer
tiled = new OpenLayers.Layer.WMS(
"bou2_4p - Tiled", host,
{
srs: 'EPSG:2010',
layers: 'map:bou2_4p',
styles: '',
format: format,
tiled: 'true',
tilesOrigin : map.maxExtent.left + ',' + map.maxExtent.bottom
},
{
buffer: 0,
displayOutsideMaxExtent: true
}
);
// setup single tiled layer
untiled = new OpenLayers.Layer.WMS(
"bou2_4p - Untiled", host,
{
srs: 'EPSG:2010',
layers: 'map:bou2_4p',
WIDTH:'1900',
bgcolor:'#E8ff9f',
//bgcolor: '0xA6CAE0',
format: format
},
{
singleTile: true,
ratio: 1
}
);
map.addLayers([untiled,lineVectors,pointVectors,ers]);
map.addControl(new OpenLayers.Control.PanZoomBar({
position: new OpenLayers.Pixel(2, 15)
}));
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.Scale());
map.addControl(new OpenLayers.Control.MousePosition());
map.zoomToExtent(bounds);
// this.addNode(10,106.79466,39.56959,3,false,"ssss");
//this.remvoeNode(10);
//this.changeStatus(10, 2);
}
function CreateMaker(id,x,y,t,showLable,text,fnc){
var icon_1 = getIcon(t);
var feature = new OpenLayers.Feature(ers,new OpenLayers.LonLat(x,y),{
'icon': icon_1
});
var er = feature.createMarker();
er.text=text;
//以id进行标注
er.nodeid = id;
er.showLabel=showLable;
//设置imgDivid
// er.icon.imageDiv.id = id;
er.icon.imageDiv.style.fontSize = "12px";
er.icon.imageDiv.style.fontWeight = "bold";
er.icon.imageDiv.style.whiteSpace = "nowrap";
er.icon.imageDiv.style.color = "#ffffff";
er.icon.imageDiv.style.textShadow = "1px 1px 2px #000000";
er.icon.imageDiv.style.cursor="pointer";
var str = er.icon.imageDiv.innerHTML;
if(er.showLabel){
str = str + er.text;
}
er.icon.imageDiv.innerHTML = str;
er.events.register('click',er,function(ent){
fnc(id);
});
return er;
}
function CreatePoint(x,y){
var point = new OpenLayers.Geometry.Point(x,y);
var feature = new OpenLayers.Feature.Vector(point);
return feature;
}
function CreateLine(pointList){
var style_line = {
strokeColor: "red",
strokeOpacity: 0.8,
strokeWidth: 2,
pointRadius: 20,
label:"",
fontSize:'12px',
fontFamily:'宋体',
labelXOffset:30,
labelYOffset:10,
labelAlign:'rm'
};
var lineFeature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(pointList),null,style_line);
return lineFeature;
}
/**
* 添加一个节点
* id 节点ID
* x 经度
* y 纬度
* icontype,图标类型 0:红 1 黄 2 灰 3绿
* showLable 是否显示文字
* text 文本内容
* fnc 点击后的回调函数,会传入节点ID
*/
this.addNode = function(id,x,y,icontype,showLable,text,fnc){
ers.addMarker(CreateMaker(id,x,y,icontype,showLable,text,fnc));
}
//销毁地图对象
this.destroy = function(){
map.destroy();
}
//从地图上移除某个节点
this.remvoeNode = function(nodeid){
for(var i =0;i<ers.ers.length;i++)
{
//找到标注点进行删除
if(nodeid == ers.ers[i].nodeid){
ers.removeMarker(ers.ers[i]);
}
}
}
//查看节点是否存在
this.isExistsNode = function(nodeid){
for(var i =0;i<ers.ers.length;i++){
if(nodeid == ers.ers[i].nodeid){
return true;
}
}
return false;
}
//改变节点状态.对应地图图标颜色改变
this.changeStatus = function(nodeid,status){
for(var i =0;i<ers.ers.length;i++)
{
if(nodeid == ers.ers[i].nodeid){
var er = ers.ers[i];
ers.removeMarker(ers.ers[i]);
er.icon = getIcon(status);
er.icon.imageDiv.style.fontSize = "2px";
er.icon.imageDiv.style.whiteSpace = "nowrap";
er.icon.imageDiv.style.color = "white";
er.icon.imageDiv.style.cursor="pointer";
var str = er.icon.imageDiv.innerHTML;
if(er.showLabel){
str = str + er.text;
}
er.icon.imageDiv.innerHTML = str;
//找到标注点进行删除
//改变图标路径
//直接修改图片
//$("#"+nodeid).find("img").attr("src",er.icon.url);
//alert(ers.ers[i].icon.imageDiv.innerHTML)
//alert($("#"+er.icon.imageDiv.id+"").find("img").attr("src"))
//重新增加到图层中
ers.addMarker(er);
}
}
}
//获得图标
function getIcon(t){
var size = new OpenLayers.Size(10,10);
var offset = new OpenLayers.Pixel(-size.w, -size.h);
var icon_1 = new OpenLayers.Icon(icon[t], size, offset);
return icon_1;
}
this.resize = function(){
map.updateSize();
}
}