<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page isELIgnored ="true" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path;
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="<%=basePath%>/Script/theme/default/style.css" type="text/css">
<link rel="stylesheet" href="<%=basePath%>/Style/style.css" type="text/css">
<script src="<%=basePath%>/Script/lib/OpenLayers.js"></script>
<script type="text/javascript">
var map,vector_point,geojson;
function init(){
//创建地图
map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS("OpenLayers Basic","http://vmap0.tiles.osgeo.org/wms/vmap0?",
{
layers:"basic"
},
{
numZoomLevels: 5//设置缩控制器级别,默认是18【不设置情况下】
});
//1.这里定义的jsons应该是通过ajax从后台获取的
var jsons = {
"type" : "FeatureCollection",
"features" : [ {
"type" : "Feature",
"properties" : {
"image" : "<%=basePath%>/Script/img/marker.png"
},
"geometry" : {
"type" : "Point",
"coordinates" : [ 124.70169067383, 43.859191897451 ]
}
}, {
"type" : "Feature",
"properties" : {
"image" : "<%=basePath%>/Script/img/marker-blue.png"
},
"geometry" : {
"type" : "Point",
"coordinates" : [ 125.37673830988, 43.858870032345 ]
}
} ]
};
//新增部分,将对vector_point这个图层定义一个样式,不使用默认样式
var styleMap = new OpenLayers.StyleMap({
"default": new OpenLayers.Style({
fillOpacity: 1,
strokeOpacity:1,
strokeColor: "#000000",
graphicWidth:30,
graphicHeight:50,
externalGraphic: "${image}",
label:'pic',//图标标签
labelXOffset:4,
labelYOffset:24
}),
"select": new OpenLayers.Style({
fillOpacity: 0.6,
strokeOpacity:0.8,
strokeColor: "#000000",
graphicWidth:30,
graphicHeight:50,
externalGraphic: "${image}"
})
});
/*var styleMap = new OpenLayers.StyleMap({
"default": {
fillOpacity: 1,
strokeOpacity:1,
strokeColor: "#000000",
graphicWidth:30,
graphicHeight:50,
externalGraphic: "${image}"
},
"select":{
fillOpacity: 0.6,
strokeOpacity:0.8,
strokeColor: "#000000",
graphicWidth:30,
graphicHeight:50,
externalGraphic: "${image}"
}
});*/
vector_point = new OpenLayers.Layer.Vector("Simple Geometry", {
styleMap : styleMap,
rendererOptions : {
zIndexing : true,
}
});
//创建一个点图层,用来展现我们从后台获取的点信息
//屏蔽这句话vector_point = new OpenLayers.Layer.Vector();
//将地图图层和点图层加载到Map
map.addLayers([ wms, vector_point ]);
//创建GeoJSON类对象,用于解析JSON串
geojson = new OpenLayers.Format.GeoJSON();
vector_point.addFeatures(geojson.read(jsons));//read返回OpenLayers.Feature.Vector
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.LonLat(125.30593872070312,43.87017822557581),3);
}
</script>
</head>
<body onload="init();">
<div>
<div id="map" class="smallmap"></div>
</div>
</body>
</html>