[OpenLayers-Users] How do I get my polygon coordinates?

Blake blakeloizides at gmail.com
Tue Feb 7 07:18:55 EST 2012


I have created a map with create circle now after you draw the circle I want the
coordinates of the circle.

Please help? 



<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   <style type="text/css">
 html, body, #map {
                margin: 0;
                width: 100%;
                height: 100%;
            }
            
     </style>

    <style type="text/css">
        #controls {
            width: 512px;
			position: absolute;
            bottom: 1em;
            left: 1em;
            width: 300px;
            z-index: 20000;
            background-color: #8194D5;
            padding: 0 0.5em 0.5em 0.5em;
        }
        #controlToggle {
            padding-left: 1em;
        }
        #controlToggle li {
            list-style: none;
        }
    </style>

<link rel="stylesheet" href="theme/default/style.css" type="text/css">
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/firebug.js"></script>
<script src="http://www.openlayers.org/dev/OpenLayers.js"></script>
 
<script type="text/javascript">
        var lon = 24.0000000000; 
        var lat = -29.000000000000;
		
        var zoom = 4;
        var map, layer, vectors, controls;

        function init(){
        
           // Because the Streetmaps system uses 300x300 tiles, we need to set
up the scaling variables to work with these
	 

var aRes =


[90,45,22.500000,11.250000,
5.625000,2.812500,1.406250,0.703125,
0.351563,0.175781,0.087891,0.043945,0.021973,0.010986,
0.005493,0.002747,0.001373,0.000687,0.000343];
	 for (var l=0;l<aRes.length;l++) { aRes[l] = aRes[l]/300; }
				
          // Normal init, but we pass through the info about the zoom/scaling as
options
          map = new OpenLayers.Map( 'map', { tileSize: 

new OpenLayers.Size(300,
300), projection: 'CRS:84', 

numZoomLevels:aRes.length, resolutions:aRes,
maxResolution:360/300 } );

          // At this point the control is used as per normal            
            layer1 = new OpenLayers.Layer.WMS( 
                              'Streetmaps Streets',
                              'http://www.streetmaps.co.za/WMS/?',
                              {
                              key:                                   


'HZPGNWPNDYPREPTIKSIHWKYKQYYOQVYX',
                              service:                                'WMS',
                              request:                                'GetMap',
                              version:                                '1.3.0',
                              layers:                                
'sm.maps.tiled',
                              format:                                 'image/png'
							}
					);

            layer2 = new OpenLayers.Layer.WMS( 
                              'Streetmaps Imagery',
                              'http://www.streetmaps.co.za/WMS/?',
                              {
                              key:                                   
'HZPGNWPNDYPREPTIKSIHWKYKQYYOQVYX',
                              service:                                'WMS',
                              request:                                'GetMap',
                              version:                                '1.3.0',
                              layers:                                 'sm.imagery',
                              format:                                 'image/png'
							}
					);


// This loads the overlays

            map.addLayer(layer1);
            map.addLayer(layer2);

            map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
            map.addControl( new OpenLayers.Control.LayerSwitcher() );
			
			var vectors = new OpenLayers.Layer.Vector("vector", {isBaseLayer: true});
           
		    
			map.addControl(new OpenLayers.Control.EditingToolbar(vectors));
			map.addControl(new OpenLayers.Control.MousePosition());

			
									
						

  var wmsLayer = new OpenLayers.Layer.WMS( "OpenLayers WMS", 
                "http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'});
				
				 

            var polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer");

            map.addLayers([wmsLayer, polygonLayer]);

            polyOptions = {sides: 40};
            polygonControl = new OpenLayers.Control.DrawFeature(polygonLayer,
                                            OpenLayers.Handler.RegularPolygon,
                                            {handlerOptions: polyOptions});
				
				
								
											
            
            map.addControl(polygonControl);
            
            
            document.getElementById('noneToggle').checked = true;
             document.getElementById('irregularToggle').checked = false;
        }
        
        
		
       
      

        function toggleControl(element) {
            for(key in controls) {
                var control = controls[key];
                if(element.value == key && element.checked) {
                    control.activate();
                } else {
                    control.deactivate();
                }
            }
        }
		
		
        
    </script>
  </head>
  <body onLoad="init()">
    <div id="map" class="smallmap"></div>
    <div id="controls">
        <ul id="controlToggle">
             <li>
                <input type="radio" name="type"
                       value="none" id="noneToggle"
                       onclick="polygonControl.deactivate()"
                       checked="checked" />
                <label for="noneToggle">navigate</label>
            </li>
            <li>
                <input type="radio" name="type"
                       value="polygon" id="polygonToggle"
                       onclick="polygonControl.activate()" />
                <label for="polygonToggle">draw polygon</label>
            </li>
        </ul>

     
     
    </div>
  </body>
</html>




More information about the Users mailing list