Openlayers修改矢量要素并且可捕捉
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>Modify Feature</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, vectors, controls;
function init(){
map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'});
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
vectors = new OpenLayers.Layer.Vector("Vector Layer");
//给出polygon画图形
var geometry = OpenLayers.Geometry.fromWKT(
'POLYGON((110 20,120 20,120 10,110 10,110 20),(112 17,118 18,118 16,112 15,112 17))'
);
vectors.addFeatures([new OpenLayers.Feature.Vector(geometry)]);
map.addLayers([wms, vectors]);
//画图形
controls = new OpenLayers.Control.DrawFeature(vectors,
OpenLayers.Handler.Polygon);
map.addControl(controls);
controls.activate();
map.setCenter(new OpenLayers.LonLat(110, 20), 3);
}
function update() {
// 修改
controls.deactivate();
controls = new OpenLayers.Control.ModifyFeature(vectors);
map.addControl(controls);
controls.activate();
var snap = new OpenLayers.Control.Snapping({
layer: vectors,
targets:vectors,
defaults:{
nodeTolerance:30,
vertexTolerance:30,
edgeTolerance:20
},
greedy: false
});
map.addControl(snap);
snap.activate();
}
function deactivate(){
controls.deactivate();
}
</script>
</head>
<body onload="init()">
<div id="map" class="smallmap"></div>
<div><input type = "button" value = "修改" onclick = "update()"/>
<input type = "button" value = "取消" onclick = "deactivate()"/>
</div>
</body>
</html>
最新文章
- [deviceone开发]-多种样式下拉菜单demo
- C语言中的函数与指针
- 通俗理解T检验和F检验
- [GraphQL] Use GraphQL&#39;s Object Type for Basic Types
- SpringMVC接收页面表单参数(转)
- C++的标准模板库(STL)简介
- 转---Google Python编程风格指南
- 【Swift】iOS开发笔记(二)
- zookeeper基本概念
- Java Spring JDBC访问数据库
- Java基础——Servlet(四)
- 《面向对象程序设计》c++第六次作业___calculator SE
- CentOS Docker环境搭建教程
- JVM垃圾回收机制之引用类型
- IOS UITableView多选删除功能
- 【opencv】相机标定程序内存溢出
- ISP图像调试工程师——对比度增强(熟悉图像预处理和后处理技术)
- 常用IIS mime类型
- FAT12中,如何定位大于一个扇区(512B)的文件内容
- Unity3D - UGUI的初级应用