forked from marsprj/Map5
-
Notifications
You must be signed in to change notification settings - Fork 0
/
geojson_example_1.html
91 lines (71 loc) · 2.49 KB
/
geojson_example_1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../lib/css/Map5.min.css">
<script type="text/javascript" src="../lib/Map5.min.js"></script>
<style type="text/css">
body{
margin: 0px;
}
</style>
<script type="text/javascript">
// 地图变量
var mapObj = null;
function init(){
// 地图的范围
var extent = new GeoBeans.Envelope(-180,-90,180,90);
// 地图的容器为"mapDiv",地图名称"map",地图范围,地图的空间参考,4326为经纬度
mapObj = new GeoBeans.Map("mapDiv","map",extent,4326);
if(mapObj == null){
return;
}
// 定义一个QuadServer图层,作为底图,第一个参数为图层名称,第二个参数为QuadServer地址
var layer = new GeoBeans.Layer.QSLayer("base","/QuadServer/maprequest?services=world_vector");
// 添加图层
mapObj.addLayer(layer);
// 设置中心点
var center = new GeoBeans.Geometry.Point(0,0);
mapObj.setCenter(center);
// 设置级别
mapObj.setLevel(3);
// 绘图
mapObj.draw();
}
// GeoJson文件中不包含样式,所以需要对图层进行样式的设置
function addGeoJson(){
// 1、图层名称
var name = "geojson";
// 2、GeoJson文件所在的地址
var url = "data/geojson/countries.geojson";
// 3、创建一个图层
// 参数一:图层的名称
// 参数二:GeoJson文件所在的地址
var featureLayer = mapObj.createFeatureLayerByGeoJson(name,url);
// 4、设置图层的样式
var style = createPolygonStyle();
featureLayer.setStyle(style);
// 5、添加图层
mapObj.addLayer(featureLayer);
// 6、绘图
mapObj.draw();
}
function createPolygonStyle(){
var style = new GeoBeans.Style.FeatureStyle();
var rule = new GeoBeans.Rule();
var symbolizer = new GeoBeans.Symbolizer.PointSymbolizer();
symbolizer.size = 6;
symbolizer.fill.color.set(255, 0, 0,0.6);
symbolizer.stroke.color.set(0,255, 0,0.6);
rule.symbolizer = symbolizer;
style.addRule(rule);
return style;
}
</script>
<title>Map5 -- GeoJson图层</title>
<body onload="init()">
<!-- mapDiv 为初始化地图的容器,给定高度和宽度,并指定定位方式为绝对定位 -->
<div id="mapDiv" style="height:800px;width:100%;position:absolute;top:80px;">
</div>
<button onclick="addGeoJson()">加载geojson</button>
</body>