<!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>

最新文章

  1. [deviceone开发]-多种样式下拉菜单demo
  2. C语言中的函数与指针
  3. 通俗理解T检验和F检验
  4. [GraphQL] Use GraphQL&#39;s Object Type for Basic Types
  5. SpringMVC接收页面表单参数(转)
  6. C++的标准模板库(STL)简介
  7. 转---Google Python编程风格指南
  8. 【Swift】iOS开发笔记(二)
  9. zookeeper基本概念
  10. Java Spring JDBC访问数据库
  11. Java基础——Servlet(四)
  12. 《面向对象程序设计》c++第六次作业___calculator SE
  13. CentOS Docker环境搭建教程
  14. JVM垃圾回收机制之引用类型
  15. IOS UITableView多选删除功能
  16. 【opencv】相机标定程序内存溢出
  17. ISP图像调试工程师——对比度增强(熟悉图像预处理和后处理技术)
  18. 常用IIS mime类型
  19. FAT12中,如何定位大于一个扇区(512B)的文件内容
  20. Unity3D - UGUI的初级应用

热门文章

  1. Puppent 介绍原理及安装
  2. 关于JAVA插入Mysql数据库中文乱码问题解决方案
  3. addEventListener与removeEventListener
  4. 【转】ThinkPHP 页面跳转
  5. c++ 日志操作
  6. maven认识
  7. Mysql笔记4数据表操作1
  8. Chapter 1 First Sight——22
  9. 区间gcd问题 HDU 5869 离线+树状数组
  10. MySQL解决&quot;is marked as crashed and should be repaired&quot;故障