SelectFeature
来源:互联网 发布:.it域名 编辑:程序博客网 时间:2024/05/17 20:21
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%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>在web地图上创建矢量图层,并在矢量图层上绘制元素</title><style type="text/css">.smallmap{height: 300px;width: 600px;border: 1px solid gray;}#positionid{width: 600px;text-align: right;}</style><script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script><script src="<%=basePath%>/Script/lib/OpenLayers.js"></script><script type="text/javascript">var map;var divId='map';var drawControls = {};function initMap(){map = new OpenLayers.Map(divId,{numZoomLevels:8});styleMap = new OpenLayers.StyleMap({ 'default': { strokeOpacity:1, strokeColor: "#b2d235", graphicWidth:30, graphicHeight:50, externalGraphic:"<%=basePath%>/Script/img/marker.png" }, 'select': { strokeColor: "#0000ff", graphicWidth:30, graphicHeight:50, externalGraphic:"<%=basePath%>/Script/img/marker.png" }});var veclayer = new OpenLayers.Layer.Vector('vector layer',{styleMap:styleMap,rendererOptions: {zIndexing: true} });veclayer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0,30)));var googlelayer = new OpenLayers.Layer.Google("Google Streets",{layers:"basic"});var drawlayer = new OpenLayers.Layer.Vector('draw layer');map.addLayers([googlelayer,veclayer,drawlayer]);var polygon = new OpenLayers.Control.DrawFeature(drawlayer, OpenLayers.Handler.Polygon);polygon.featureAdded = getGeometryPoints;//回调函数,获取多边形顶点集合数drawControls = {point: new OpenLayers.Control.DrawFeature(drawlayer,OpenLayers.Handler.Point),line: new OpenLayers.Control.DrawFeature(drawlayer, OpenLayers.Handler.Path),polygon: polygon,select: new OpenLayers.Control.SelectFeature( drawlayer,{clickout: false, toggle: false, multiple: false,hover: false, toggleKey: "ctrlKey", // ctrl key removes from selection multipleKey: "shiftKey", // shift key adds to selection box: true }), selecthover: new OpenLayers.Control.SelectFeature(drawlayer,{ multiple: false, hover: true,toggleKey: "ctrlKey", // ctrl key removes from selection multipleKey: "shiftKey" // shift key adds to selection })};for(var key in drawControls) {map.addControl(drawControls[key]);} var dgControl =new OpenLayers.Control.DragFeature(drawlayer);//矢量要素拖动,参数为矢量图层名称,上边已经存在map.addControl(dgControl);dgControl.activate();map.addControls([new OpenLayers.Control.MousePosition({'element':document.getElementById('positionid'),'prefix':'经度: ','separator':',纬度: '}),new OpenLayers.Control.PanZoomBar(),new OpenLayers.Control.LayerSwitcher()]);map.setCenter(new OpenLayers.LonLat(0,0),3);map.zoomToMaxExtent();}function toggleControl(element){for(var key in drawControls){var control = drawControls[key];if(element.value == key && element.checked){control.activate();}else{control.deactivate();}}}//feature:OpenLayers.Feature.Vector类型的对象function getGeometryPoints(feature){var geometry = feature.geometry;var lonlat = geometry.getVertices();document.getElementById("points").innerHTML=lonlat;alert(lonlat);}</script></head><body onload="initMap();"> <div id="points"></div> <div id="map" class="smallmap"></div> <div id="positionid"></div> <label>导航</label><input type="radio" name="type" value="none" onclick="toggleControl(this)" checked="checked"> <label>点</label><input type="radio" name="type" value="point" onclick="toggleControl(this)"> <label>线</label><input type="radio" name="type" value="line" onclick="toggleControl(this);"> <label>多边形</label><input type="radio" name="type" value="polygon" onclick="toggleControl(this);"> <label>select</label><input type="radio" name="type" value="select" onclick="toggleControl(this);"> <label>selecthover</label><input type="radio" name="type" value="selecthover" onclick="toggleControl(this);"></body></html>
0 0
- SelectFeature
- openlayers之selectfeature
- OpenLayers.Control.SelectFeature
- OpenLayers.Control.SelectFeature
- 让OpenLayers的SelectFeature控件支持鼠标右键事件
- 让OpenLayers的SelectFeature控件支持鼠标右键事件
- OpenLayers中开启SelectFeature控件后鼠标在面要素上不能拖动地图的问题
- Unity3D游戏开发之使用Unity3D开发2D游戏 (一)
- iOS 清理某一个cookies 或者全部 cookies
- 正则表达式
- COM动态添加删除成员,类似JavaScript中调用的对象
- cocos2dx中的随机函数
- SelectFeature
- 一个2048like游戏的第一版本
- Windows下mysql集群的搭建
- 设计模式学习之——六大设计原则之二:里氏替换原则
- java网络编程
- 超文本传输协议-----HTTP
- 排序算法--交换排序之冒泡
- IOS中显示和隐藏状态栏的网络活动标志
- Exchange 2013与 Office Web Apps 整合