Compare commits
5 Commits
release-2.
...
release-2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d90df2424f | ||
|
|
56d4c1490b | ||
|
|
f7f338e265 | ||
|
|
a43e98762c | ||
|
|
904f0391bf |
@@ -73,7 +73,6 @@ Group: OpenLayers {
|
||||
File: DragPan (no auto-title, OpenLayers/Control/DragPan.js)
|
||||
File: DrawFeature (no auto-title, OpenLayers/Control/DrawFeature.js)
|
||||
File: EditingToolbar (no auto-title, OpenLayers/Control/EditingToolbar.js)
|
||||
File: GetFeature (no auto-title, OpenLayers/Control/GetFeature.js)
|
||||
File: KeyboardDefaults (no auto-title, OpenLayers/Control/KeyboardDefaults.js)
|
||||
File: LayerSwitcher (no auto-title, OpenLayers/Control/LayerSwitcher.js)
|
||||
File: Measure (no auto-title, OpenLayers/Control/Measure.js)
|
||||
@@ -94,8 +93,6 @@ Group: OpenLayers {
|
||||
File: Scale (no auto-title, OpenLayers/Control/Scale.js)
|
||||
File: ScaleLine (no auto-title, OpenLayers/Control/ScaleLine.js)
|
||||
File: SelectFeature (no auto-title, OpenLayers/Control/SelectFeature.js)
|
||||
File: Snapping (no auto-title, OpenLayers/Control/Snapping.js)
|
||||
File: Split (no auto-title, OpenLayers/Control/Split.js)
|
||||
File: ZoomBox (no auto-title, OpenLayers/Control/ZoomBox.js)
|
||||
File: ZoomIn (no auto-title, OpenLayers/Control/ZoomIn.js)
|
||||
File: ZoomOut (no auto-title, OpenLayers/Control/ZoomOut.js)
|
||||
@@ -130,9 +127,11 @@ Group: OpenLayers {
|
||||
File: Filter (no auto-title, OpenLayers/Format/Filter.js)
|
||||
File: v1 (no auto-title, OpenLayers/Format/Filter/v1.js)
|
||||
File: v1_0_0 (no auto-title, OpenLayers/Format/Filter/v1_0_0.js)
|
||||
File: v1_1_0 (OpenLayers/Format/Filter/v1_1_0.js)
|
||||
} # Group: Filter
|
||||
|
||||
File: GeoJSON (no auto-title, OpenLayers/Format/GeoJSON.js)
|
||||
File: GeoRSS (no auto-title, OpenLayers/Format/GeoRSS.js)
|
||||
|
||||
Group: GML {
|
||||
|
||||
File: GML (no auto-title, OpenLayers/Format/GML.js)
|
||||
@@ -141,6 +140,15 @@ Group: OpenLayers {
|
||||
File: v3 (no auto-title, OpenLayers/Format/GML/v3.js)
|
||||
} # Group: GML
|
||||
|
||||
File: GPX (no auto-title, OpenLayers/Format/GPX.js)
|
||||
File: JSON (no auto-title, OpenLayers/Format/JSON.js)
|
||||
File: KML (no auto-title, OpenLayers/Format/KML.js)
|
||||
File: OSM (no auto-title, OpenLayers/Format/OSM.js)
|
||||
File: Text (no auto-title, OpenLayers/Format/Text.js)
|
||||
File: WFS (no auto-title, OpenLayers/Format/WFS.js)
|
||||
File: WKT (no auto-title, OpenLayers/Format/WKT.js)
|
||||
File: XML (no auto-title, OpenLayers/Format/XML.js)
|
||||
|
||||
Group: SLD {
|
||||
|
||||
File: SLD (no auto-title, OpenLayers/Format/SLD.js)
|
||||
@@ -156,33 +164,6 @@ Group: OpenLayers {
|
||||
File: v1_1_0 (no auto-title, OpenLayers/Format/WMC/v1_1_0.js)
|
||||
} # Group: WMC
|
||||
|
||||
Group: Format {
|
||||
|
||||
File: GeoJSON (no auto-title, OpenLayers/Format/GeoJSON.js)
|
||||
File: GeoRSS (no auto-title, OpenLayers/Format/GeoRSS.js)
|
||||
File: GPX (no auto-title, OpenLayers/Format/GPX.js)
|
||||
File: JSON (no auto-title, OpenLayers/Format/JSON.js)
|
||||
File: KML (no auto-title, OpenLayers/Format/KML.js)
|
||||
File: OSM (no auto-title, OpenLayers/Format/OSM.js)
|
||||
File: Text (no auto-title, OpenLayers/Format/Text.js)
|
||||
File: WFS (no auto-title, OpenLayers/Format/WFS.js)
|
||||
File: WFSDescribeFeatureType (OpenLayers/Format/WFSDescribeFeatureType.js)
|
||||
|
||||
Group: WFST {
|
||||
|
||||
File: WFST (no auto-title, OpenLayers/Format/WFST.js)
|
||||
File: v1 (OpenLayers/Format/WFST/v1.js)
|
||||
File: v1_0_0 (OpenLayers/Format/WFST/v1_0_0.js)
|
||||
File: v1_1_0 (OpenLayers/Format/WFST/v1_1_0.js)
|
||||
} # Group: WFST
|
||||
|
||||
File: WKT (no auto-title, OpenLayers/Format/WKT.js)
|
||||
File: WMSDescribeLayer (OpenLayers/Format/WMSDescribeLayer.js)
|
||||
File: WMSDescribeLayer.v1_1 (OpenLayers/Format/WMSDescribeLayer/v1_1.js)
|
||||
File: WMSGetFeatureInfo (OpenLayers/Format/WMSGetFeatureInfo.js)
|
||||
File: XML (no auto-title, OpenLayers/Format/XML.js)
|
||||
} # Group: Format
|
||||
|
||||
} # Group: Format
|
||||
|
||||
Group: Geometry {
|
||||
@@ -221,13 +202,10 @@ Group: OpenLayers {
|
||||
Group: Lang {
|
||||
|
||||
File: Lang (no auto-title, OpenLayers/Lang.js)
|
||||
File: ca (no auto-title, OpenLayers/Lang/ca.js)
|
||||
File: cs-CZ (no auto-title, OpenLayers/Lang/cs-CZ.js)
|
||||
File: da-DK (no auto-title, OpenLayers/Lang/da-DK.js)
|
||||
File: de (no auto-title, OpenLayers/Lang/de.js)
|
||||
File: en (no auto-title, OpenLayers/Lang/en.js)
|
||||
File: en-CA (no auto-title, OpenLayers/Lang/en-CA.js)
|
||||
File: es (no auto-title, OpenLayers/Lang/es.js)
|
||||
File: fr (no auto-title, OpenLayers/Lang/fr.js)
|
||||
File: it (no auto-title, OpenLayers/Lang/it.js)
|
||||
File: nb (no auto-title, OpenLayers/Lang/nb.js)
|
||||
@@ -241,7 +219,6 @@ Group: OpenLayers {
|
||||
Group: Layer {
|
||||
|
||||
File: Layer (no auto-title, OpenLayers/Layer.js)
|
||||
File: ArcGIS93Rest (no auto-title, OpenLayers/Layer/ArcGIS93Rest.js)
|
||||
File: Boxes (no auto-title, OpenLayers/Layer/Boxes.js)
|
||||
File: EventPane (no auto-title, OpenLayers/Layer/EventPane.js)
|
||||
File: FixedZoomLevels (no auto-title, OpenLayers/Layer/FixedZoomLevels.js)
|
||||
@@ -264,7 +241,6 @@ Group: OpenLayers {
|
||||
File: TileCache (no auto-title, OpenLayers/Layer/TileCache.js)
|
||||
File: TMS (no auto-title, OpenLayers/Layer/TMS.js)
|
||||
File: Vector (no auto-title, OpenLayers/Layer/Vector.js)
|
||||
File: RootContainer (OpenLayers/Layer/Vector/RootContainer.js)
|
||||
File: VirtualEarth (no auto-title, OpenLayers/Layer/VirtualEarth.js)
|
||||
File: WFS (no auto-title, OpenLayers/Layer/WFS.js)
|
||||
File: WMS (no auto-title, OpenLayers/Layer/WMS.js)
|
||||
@@ -303,14 +279,6 @@ Group: OpenLayers {
|
||||
File: Gears (no auto-title, OpenLayers/Protocol/SQL/Gears.js)
|
||||
} # Group: SQL
|
||||
|
||||
Group: WFS {
|
||||
|
||||
File: WFS (no auto-title, OpenLayers/Protocol/WFS.js)
|
||||
File: v1 (OpenLayers/Protocol/WFS/v1.js)
|
||||
File: v1_0_0 (OpenLayers/Protocol/WFS/v1_0_0.js)
|
||||
File: v1_1_0 (OpenLayers/Protocol/WFS/v1_1_0.js)
|
||||
} # Group: WFS
|
||||
|
||||
} # Group: Protocol
|
||||
|
||||
Group: Renderer {
|
||||
@@ -337,7 +305,6 @@ Group: OpenLayers {
|
||||
File: Cluster (no auto-title, OpenLayers/Strategy/Cluster.js)
|
||||
File: Fixed (no auto-title, OpenLayers/Strategy/Fixed.js)
|
||||
File: Paging (no auto-title, OpenLayers/Strategy/Paging.js)
|
||||
File: Save (OpenLayers/Strategy/Save.js)
|
||||
} # Group: Strategy
|
||||
|
||||
File: Style (no auto-title, OpenLayers/Style.js)
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
# This is the full build with all files: this includes the vector-related files
|
||||
# like Renderers and Formats.
|
||||
|
||||
[first]
|
||||
OpenLayers/SingleFile.js
|
||||
OpenLayers.js
|
||||
@@ -16,12 +13,9 @@ Rico/Corner.js
|
||||
[exclude]
|
||||
Firebug/firebug.js
|
||||
Firebug/firebugx.js
|
||||
OpenLayers/Lang/ca.js
|
||||
OpenLayers/Lang/cs-CZ.js
|
||||
OpenLayers/Lang/da-DK.js
|
||||
OpenLayers/Lang/de.js
|
||||
OpenLayers/Lang/en-CA.js
|
||||
OpenLayers/Lang/es.js
|
||||
OpenLayers/Lang/fr.js
|
||||
OpenLayers/Lang/it.js
|
||||
OpenLayers/Lang/nb.js
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
# This file includes the OpenLayers code to create a build for everything that
|
||||
# does not require vector support. build.py uses this profile if no other one
|
||||
# is specified.
|
||||
|
||||
[first]
|
||||
OpenLayers/SingleFile.js
|
||||
OpenLayers.js
|
||||
@@ -50,12 +46,9 @@ OpenLayers/Renderer/Elements.js
|
||||
OpenLayers/Renderer/SVG.js
|
||||
OpenLayers/Renderer/VML.js
|
||||
OpenLayers/Renderer.js
|
||||
OpenLayers/Lang/ca.js
|
||||
OpenLayers/Lang/cs-CZ.js
|
||||
OpenLayers/Lang/da-DK.js
|
||||
OpenLayers/Lang/de.js
|
||||
OpenLayers/Lang/en-CA.js
|
||||
OpenLayers/Lang/es.js
|
||||
OpenLayers/Lang/fr.js
|
||||
OpenLayers/Lang/it.js
|
||||
OpenLayers/Lang/nb.js
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
# This file includes a small subset of OpenLayers code, designed to be
|
||||
# integrated into another application. It includes only the Layer types
|
||||
# neccesary to create tiled or untiled WMS, and does not include any Controls.
|
||||
# This is the result of what was at the time called "Webmap.js" at the FOSS4G
|
||||
# Web Mapping BOF.
|
||||
|
||||
[first]
|
||||
OpenLayers/SingleFile.js
|
||||
OpenLayers.js
|
||||
@@ -14,8 +8,15 @@ OpenLayers/Util.js
|
||||
[last]
|
||||
|
||||
[include]
|
||||
OpenLayers/Events.js
|
||||
OpenLayers/Map.js
|
||||
OpenLayers/Layer.js
|
||||
OpenLayers/Layer/Grid.js
|
||||
OpenLayers/Layer/HTTPRequest.js
|
||||
OpenLayers/Layer/WMS.js
|
||||
OpenLayers/Layer/WMS/Untiled.js
|
||||
OpenLayers/Tile.js
|
||||
OpenLayers/Tile/Image.js
|
||||
|
||||
[exclude]
|
||||
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
OpenLayers contributors:
|
||||
|
||||
Mike Adair
|
||||
Jeff Adams
|
||||
Seb Benthall
|
||||
Howard Butler
|
||||
Bertil Chaupis
|
||||
John Cole
|
||||
Tim Coulter
|
||||
Robert Coup
|
||||
Jeff Dege
|
||||
Roald de Wit
|
||||
Schuyler Erle
|
||||
@@ -22,7 +18,6 @@ Philip Lindsay
|
||||
Martijn van Oosterhout
|
||||
David Overstrom
|
||||
Corey Puffault
|
||||
Peter William Robins
|
||||
Gregers Rygg
|
||||
Tim Schaub
|
||||
Christopher Schmidt
|
||||
@@ -33,12 +28,10 @@ Paul Smith
|
||||
Glen Stampoultzis
|
||||
James Stembridge
|
||||
Erik Uzureau
|
||||
Bart van den Eijnden
|
||||
Ivan Willig
|
||||
Thomas Wood
|
||||
Bill Woodall
|
||||
Steve Woodbridge
|
||||
David Zwarg
|
||||
|
||||
Some portions of OpenLayers are used under the Apache 2.0 license, available
|
||||
in doc/licenses/APACHE-2.0.txt.
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
Automatically generated OpenLayers API documentation is online:
|
||||
|
||||
http://dev.openlayers.org/apidocs
|
||||
|
||||
More information on documentation is available from:
|
||||
|
||||
http://trac.openlayers.org/wiki/Documentation
|
||||
|
||||
@@ -73,7 +73,6 @@ Group: OpenLayers {
|
||||
File: DragPan (no auto-title, OpenLayers/Control/DragPan.js)
|
||||
File: DrawFeature (no auto-title, OpenLayers/Control/DrawFeature.js)
|
||||
File: EditingToolbar (no auto-title, OpenLayers/Control/EditingToolbar.js)
|
||||
File: GetFeature (no auto-title, OpenLayers/Control/GetFeature.js)
|
||||
File: KeyboardDefaults (no auto-title, OpenLayers/Control/KeyboardDefaults.js)
|
||||
File: LayerSwitcher (no auto-title, OpenLayers/Control/LayerSwitcher.js)
|
||||
File: Measure (no auto-title, OpenLayers/Control/Measure.js)
|
||||
@@ -94,8 +93,6 @@ Group: OpenLayers {
|
||||
File: Scale (no auto-title, OpenLayers/Control/Scale.js)
|
||||
File: ScaleLine (no auto-title, OpenLayers/Control/ScaleLine.js)
|
||||
File: SelectFeature (no auto-title, OpenLayers/Control/SelectFeature.js)
|
||||
File: Snapping (no auto-title, OpenLayers/Control/Snapping.js)
|
||||
File: Split (no auto-title, OpenLayers/Control/Split.js)
|
||||
File: ZoomBox (no auto-title, OpenLayers/Control/ZoomBox.js)
|
||||
File: ZoomIn (no auto-title, OpenLayers/Control/ZoomIn.js)
|
||||
File: ZoomOut (no auto-title, OpenLayers/Control/ZoomOut.js)
|
||||
@@ -130,9 +127,11 @@ Group: OpenLayers {
|
||||
File: Filter (no auto-title, OpenLayers/Format/Filter.js)
|
||||
File: v1 (no auto-title, OpenLayers/Format/Filter/v1.js)
|
||||
File: v1_0_0 (no auto-title, OpenLayers/Format/Filter/v1_0_0.js)
|
||||
File: v1_1_0 (OpenLayers/Format/Filter/v1_1_0.js)
|
||||
} # Group: Filter
|
||||
|
||||
File: GeoJSON (no auto-title, OpenLayers/Format/GeoJSON.js)
|
||||
File: GeoRSS (no auto-title, OpenLayers/Format/GeoRSS.js)
|
||||
|
||||
Group: GML {
|
||||
|
||||
File: GML (no auto-title, OpenLayers/Format/GML.js)
|
||||
@@ -141,6 +140,15 @@ Group: OpenLayers {
|
||||
File: v3 (no auto-title, OpenLayers/Format/GML/v3.js)
|
||||
} # Group: GML
|
||||
|
||||
File: GPX (no auto-title, OpenLayers/Format/GPX.js)
|
||||
File: JSON (no auto-title, OpenLayers/Format/JSON.js)
|
||||
File: KML (no auto-title, OpenLayers/Format/KML.js)
|
||||
File: OSM (no auto-title, OpenLayers/Format/OSM.js)
|
||||
File: Text (no auto-title, OpenLayers/Format/Text.js)
|
||||
File: WFS (no auto-title, OpenLayers/Format/WFS.js)
|
||||
File: WKT (no auto-title, OpenLayers/Format/WKT.js)
|
||||
File: XML (no auto-title, OpenLayers/Format/XML.js)
|
||||
|
||||
Group: SLD {
|
||||
|
||||
File: SLD (no auto-title, OpenLayers/Format/SLD.js)
|
||||
@@ -156,33 +164,6 @@ Group: OpenLayers {
|
||||
File: v1_1_0 (no auto-title, OpenLayers/Format/WMC/v1_1_0.js)
|
||||
} # Group: WMC
|
||||
|
||||
Group: Format {
|
||||
|
||||
File: GeoJSON (no auto-title, OpenLayers/Format/GeoJSON.js)
|
||||
File: GeoRSS (no auto-title, OpenLayers/Format/GeoRSS.js)
|
||||
File: GPX (no auto-title, OpenLayers/Format/GPX.js)
|
||||
File: JSON (no auto-title, OpenLayers/Format/JSON.js)
|
||||
File: KML (no auto-title, OpenLayers/Format/KML.js)
|
||||
File: OSM (no auto-title, OpenLayers/Format/OSM.js)
|
||||
File: Text (no auto-title, OpenLayers/Format/Text.js)
|
||||
File: WFS (no auto-title, OpenLayers/Format/WFS.js)
|
||||
File: WFSDescribeFeatureType.js (OpenLayers/Format/WFSDescribeFeatureType.js)
|
||||
|
||||
Group: WFST {
|
||||
|
||||
File: WFST (no auto-title, OpenLayers/Format/WFST.js)
|
||||
File: v1 (OpenLayers/Format/WFST/v1.js)
|
||||
File: v1_0_0 (OpenLayers/Format/WFST/v1_0_0.js)
|
||||
File: v1_1_0 (OpenLayers/Format/WFST/v1_1_0.js)
|
||||
} # Group: WFST
|
||||
|
||||
File: WKT (no auto-title, OpenLayers/Format/WKT.js)
|
||||
File: WMSDescribeLayer (OpenLayers/Format/WMSDescribeLayer.js)
|
||||
File: WMSDescribeLayer.v1_1 (OpenLayers/Format/WMSDescribeLayer/v1_1.js)
|
||||
File: WMSGetFeatureInfo (OpenLayers/Format/WMSGetFeatureInfo.js)
|
||||
File: XML (no auto-title, OpenLayers/Format/XML.js)
|
||||
} # Group: Format
|
||||
|
||||
} # Group: Format
|
||||
|
||||
Group: Geometry {
|
||||
@@ -221,13 +202,10 @@ Group: OpenLayers {
|
||||
Group: Lang {
|
||||
|
||||
File: Lang (no auto-title, OpenLayers/Lang.js)
|
||||
File: ca (no auto-title, OpenLayers/Lang/ca.js)
|
||||
File: cs-CZ (no auto-title, OpenLayers/Lang/cs-CZ.js)
|
||||
File: da-DK (no auto-title, OpenLayers/Lang/da-DK.js)
|
||||
File: de (no auto-title, OpenLayers/Lang/de.js)
|
||||
File: en (no auto-title, OpenLayers/Lang/en.js)
|
||||
File: en-CA (no auto-title, OpenLayers/Lang/en-CA.js)
|
||||
File: es (no auto-title, OpenLayers/Lang/es.js)
|
||||
File: fr (no auto-title, OpenLayers/Lang/fr.js)
|
||||
File: it (no auto-title, OpenLayers/Lang/it.js)
|
||||
File: nb (no auto-title, OpenLayers/Lang/nb.js)
|
||||
@@ -241,7 +219,6 @@ Group: OpenLayers {
|
||||
Group: Layer {
|
||||
|
||||
File: Layer (no auto-title, OpenLayers/Layer.js)
|
||||
File: ArcGIS93Rest (no auto-title, OpenLayers/Layer/ArcGIS93Rest.js)
|
||||
File: Boxes (no auto-title, OpenLayers/Layer/Boxes.js)
|
||||
File: EventPane (no auto-title, OpenLayers/Layer/EventPane.js)
|
||||
File: FixedZoomLevels (no auto-title, OpenLayers/Layer/FixedZoomLevels.js)
|
||||
@@ -264,7 +241,6 @@ Group: OpenLayers {
|
||||
File: TileCache (no auto-title, OpenLayers/Layer/TileCache.js)
|
||||
File: TMS (no auto-title, OpenLayers/Layer/TMS.js)
|
||||
File: Vector (no auto-title, OpenLayers/Layer/Vector.js)
|
||||
File: RootContainer (OpenLayers/Layer/Vector/RootContainer.js)
|
||||
File: VirtualEarth (no auto-title, OpenLayers/Layer/VirtualEarth.js)
|
||||
File: WFS (no auto-title, OpenLayers/Layer/WFS.js)
|
||||
File: WMS (no auto-title, OpenLayers/Layer/WMS.js)
|
||||
@@ -303,14 +279,6 @@ Group: OpenLayers {
|
||||
File: Gears (no auto-title, OpenLayers/Protocol/SQL/Gears.js)
|
||||
} # Group: SQL
|
||||
|
||||
Group: WFS {
|
||||
|
||||
File: WFS (no auto-title, OpenLayers/Protocol/WFS.js)
|
||||
File: v1 (OpenLayers/Protocol/WFS/v1.js)
|
||||
File: v1_0_0 (OpenLayers/Protocol/WFS/v1_0_0.js)
|
||||
File: v1_1_0 (OpenLayers/Protocol/WFS/v1_1_0.js)
|
||||
} # Group: WFS
|
||||
|
||||
} # Group: Protocol
|
||||
|
||||
Group: Renderer {
|
||||
@@ -337,7 +305,6 @@ Group: OpenLayers {
|
||||
File: Cluster (no auto-title, OpenLayers/Strategy/Cluster.js)
|
||||
File: Fixed (no auto-title, OpenLayers/Strategy/Fixed.js)
|
||||
File: Paging (no auto-title, OpenLayers/Strategy/Paging.js)
|
||||
File: Save (OpenLayers/Strategy/Save.js)
|
||||
} # Group: Strategy
|
||||
|
||||
File: Style (no auto-title, OpenLayers/Style.js)
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers WMSDescribeLayer Parser Example</title>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
function parseData(req) {
|
||||
format = new OpenLayers.Format.WMSDescribeLayer();
|
||||
html = "<br />"
|
||||
resp = format.read(req.responseText);
|
||||
for(var i = 0; i < resp.length; i++) {
|
||||
html += "Layer: typeName: "+ resp[i].typeName+",";
|
||||
html += "<ul>";
|
||||
html += "<li>owsURL: "+resp[i].owsURL+"</li>";
|
||||
html += "<li>owsType: "+resp[i].owsType+"</li>";
|
||||
html += "</ul>"
|
||||
}
|
||||
document.getElementById('output').innerHTML = html;
|
||||
}
|
||||
function load() {
|
||||
OpenLayers.loadURL("xml/wmsdescribelayer.xml", "", null, parseData);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="load()">
|
||||
<h1 id="title">WMSDescribeLayer Parser Example</h1>
|
||||
|
||||
<div id="tags"></div>
|
||||
|
||||
<p id="shortdesc">
|
||||
Demonstrate the operation of the WMSDescribeLayer parser.
|
||||
</p>
|
||||
|
||||
<div id="output"></div>
|
||||
|
||||
<div id="docs">
|
||||
This script reads data from a file and parses out the coordinates, appending them to a HTML string with markup tags.
|
||||
This markup is dumped to an element in the page.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,69 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>All Overlays Example</title>
|
||||
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map;
|
||||
function init() {
|
||||
map = new OpenLayers.Map({
|
||||
div: "map",
|
||||
allOverlays: true,
|
||||
maxExtent: new OpenLayers.Bounds(
|
||||
1549471.9221, 6403610.94, 1550001.32545, 6404015.8
|
||||
)
|
||||
});
|
||||
|
||||
// give the features some style
|
||||
var styles = new OpenLayers.StyleMap({
|
||||
"default": {
|
||||
strokeWidth: 2
|
||||
},
|
||||
"select": {
|
||||
strokeColor: "#0099cc",
|
||||
strokeWidth: 4
|
||||
}
|
||||
});
|
||||
|
||||
// add rules from the above lookup table
|
||||
styles.addUniqueValueRules("default", "RP_TYPE", {
|
||||
10: {strokeColor: "#000000", strokeWidth: 2},
|
||||
12: {strokeColor: "#222222", strokeWidth: 2},
|
||||
14: {strokeColor: "#444444", strokeWidth: 2},
|
||||
16: {strokeColor: "#666666", strokeWidth: 2},
|
||||
18: {strokeColor: "#888888", strokeWidth: 2},
|
||||
19: {strokeColor: "#666666", strokeWidth: 1}
|
||||
});
|
||||
|
||||
var vectors = new OpenLayers.Layer.Vector("Lines", {
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "data/roads.json",
|
||||
format: new OpenLayers.Format.GeoJSON()
|
||||
}),
|
||||
styleMap: styles
|
||||
});
|
||||
|
||||
map.addLayer(vectors);
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
map.zoomToMaxExtent();
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OpenLayers Overlays Only Example</h1>
|
||||
<p id="shortdesc">
|
||||
Demonstrates a map with overlays only.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
To create a map that allows any draw order with all layer types
|
||||
and lets you set the visibility of any layer independently, set
|
||||
the allOverlays property on the map to true.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -34,7 +34,7 @@
|
||||
});
|
||||
|
||||
function init(){
|
||||
map = new OpenLayers.Map('map', {numZoomLevels: 2});
|
||||
map = new OpenLayers.Map('map');
|
||||
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
click.activate();
|
||||
map.addControl(new OpenLayers.Control.OverviewMap());
|
||||
|
||||
map2 = new OpenLayers.Map('map2', {'panMethod': null, numZoomLevels: 2} );
|
||||
map2 = new OpenLayers.Map('map2', {'panMethod': null} );
|
||||
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
|
||||
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map;
|
||||
var layer;
|
||||
|
||||
function init(){
|
||||
var mapOptions = {
|
||||
maxExtent: new OpenLayers.Bounds(-174,18.4,-63.5,71),
|
||||
maxResolution: 0.25,
|
||||
projection: "EPSG:4326"};
|
||||
map = new OpenLayers.Map( 'map', mapOptions );
|
||||
layer = new OpenLayers.Layer.ArcGIS93Rest( "ArcGIS Server Layer",
|
||||
"http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer/export",
|
||||
{layers: "show:0,2"});
|
||||
map.addLayer(layer);
|
||||
|
||||
map.addControl( new OpenLayers.Control.MousePosition() );
|
||||
|
||||
map.setCenter(new OpenLayers.LonLat(-115, 45), 0);
|
||||
}
|
||||
|
||||
function enableFilter() {
|
||||
layer.setLayerFilter(2, "STATE_NAME LIKE '%" + document.getElementById('filterValueField').value + "%'");
|
||||
layer.redraw();
|
||||
}
|
||||
function disableFilter() {
|
||||
layer.setLayerFilter(2, null);
|
||||
layer.redraw();
|
||||
}
|
||||
function updateButton() {
|
||||
document.getElementById('filterButton').value = "Show '" +
|
||||
document.getElementById('filterValueField').value + "' States";
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">ArcGIS Server 9.3 Rest API Example</h1>
|
||||
|
||||
<div id="tags">
|
||||
</div>
|
||||
<p id="shortdesc">
|
||||
Shows the basic use of openlayers using an ArcGIS Server 9.3 Rest API layer
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs">
|
||||
This is an example of how to add an ArcGIS Server 9.3 Rest API layer to the OpenLayers window.
|
||||
</div>
|
||||
<input id="filterValueField" type="textfield" value="A"/>
|
||||
<input id="filterButton" type="button" onclick="enableFilter();" value="Filter States"/>
|
||||
<input type="button" onclick="disableFilter();" value="Show All States"/>
|
||||
<br>
|
||||
(Filter is case sensitive.)
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>ArcIMS Thematic Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var lon = 0;
|
||||
var lat = 0;
|
||||
var zoom = 1;
|
||||
var map, layer;
|
||||
var query, renderer;
|
||||
|
||||
function init() {
|
||||
OpenLayers.ProxyHost = "proxy.cgi?url=";
|
||||
|
||||
map = new OpenLayers.Map('map');
|
||||
|
||||
query = {where: "FIPS_ID>100 AND FIPS_ID<200"};
|
||||
|
||||
renderer = {
|
||||
type: 'valuemap',
|
||||
lookupfield: 'FIPS_ID',
|
||||
ranges: [
|
||||
{ lower: 100, upper: 120, symbol: { type: 'simplepolygon', fillcolor: '255,0,0' } },
|
||||
{ lower: 120, upper: 140, symbol: { type: 'simplepolygon', fillcolor: '255,255,0' } },
|
||||
{ lower: 140, upper: 160, symbol: { type: 'simplepolygon', fillcolor: '0,255,0' } },
|
||||
{ lower: 160, upper: 180, symbol: { type: 'simplepolygon', fillcolor: '0,255,255' } },
|
||||
{ lower: 180, upper: 200, symbol: { type: 'simplepolygon', fillcolor: '0,0,255' } }
|
||||
]
|
||||
};
|
||||
|
||||
var options = {
|
||||
layers: [{
|
||||
id: "1",
|
||||
visible: true,
|
||||
query: query,
|
||||
renderer: renderer
|
||||
}],
|
||||
serviceName: "OpenLayers_Sample",
|
||||
singleTile: true,
|
||||
async: true
|
||||
};
|
||||
|
||||
layer = new OpenLayers.Layer.ArcIMS(
|
||||
"Global Sample Map",
|
||||
"http://sample.avencia.com/servlet/com.esri.esrimap.Esrimap",
|
||||
options
|
||||
);
|
||||
map.addLayer(layer);
|
||||
|
||||
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">ArcIMS Thematic Example</h1>
|
||||
|
||||
<div id="tags">
|
||||
</div>
|
||||
<p id="shortdesc">
|
||||
Shows the advanced use of OpenLayers using a thematic ArcIMS layer
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs">
|
||||
<p>This is an example of how to add an ArcIMS layer to an OpenLayers map.</p>
|
||||
|
||||
<p>Following the ArcXML convention to create a thematic (or chloropleth) map,
|
||||
a layer definition is created with a query and a renderer to select portions
|
||||
of the map data, and change their representation in the generated map tiles.</p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,52 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>ArcIMS Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var lon = 0;
|
||||
var lat = 0;
|
||||
var zoom = 1;
|
||||
var map, layer;
|
||||
|
||||
function init(){
|
||||
OpenLayers.ProxyHost = "proxy.cgi?url=";
|
||||
|
||||
map = new OpenLayers.Map( 'map' );
|
||||
|
||||
var options = {
|
||||
serviceName: "OpenLayers_Sample",
|
||||
async: true
|
||||
};
|
||||
|
||||
layer = new OpenLayers.Layer.ArcIMS( "Global Sample Map",
|
||||
"http://sample.avencia.com/servlet/com.esri.esrimap.Esrimap", options );
|
||||
map.addLayer(layer);
|
||||
|
||||
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
|
||||
map.addControl( new OpenLayers.Control.LayerSwitcher() );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">ArcIMS Example</h1>
|
||||
|
||||
<div id="tags">
|
||||
</div>
|
||||
<p id="shortdesc">
|
||||
Shows the basic use of OpenLayers using an ArcIMS layer
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs">
|
||||
This is an example of how to add an ArcIMS layer to the OpenLayers window.
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "gml/polygon.xml",
|
||||
format: new OpenLayers.Format.GML()
|
||||
})
|
||||
}),
|
||||
});
|
||||
|
||||
map.addLayers([wms, layer]);
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
controls = {
|
||||
"single": new OpenLayers.Control.Click({
|
||||
handlerOptions: {
|
||||
hanlerOptions: {
|
||||
"single": true
|
||||
}
|
||||
}),
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
function init(){
|
||||
map = new OpenLayers.Map('map', {
|
||||
controls: [
|
||||
new OpenLayers.Control.Navigation(),
|
||||
new OpenLayers.Control.PanZoomBar(),
|
||||
new OpenLayers.Control.MouseToolbar(),
|
||||
new OpenLayers.Control.LayerSwitcher({'ascending':false}),
|
||||
new OpenLayers.Control.Permalink(),
|
||||
new OpenLayers.Control.ScaleLine(),
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_458", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[-121.640625, 24.2578125], [-78.046875, 27.7734375], [-45.703125, 24.9609375], [-13.359375, 16.5234375], [12.65625, 6.6796875], [39.375, 1.0546875], [76.640625, 1.0546875], [108.28125, 1.7578125], [156.09375, 15.8203125]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1111", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[-122.34375, -35.5078125], [-48.515625, -33.3984375], [-5.625, -37.6171875], [20.390625, -32.6953125], [69.609375, -34.1015625], [121.640625, -38.3203125], [150.46875, -33.3984375]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_634", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[-54.84375, 69.9609375], [-56.953125, 31.9921875], [-56.953125, 5.2734375], [-65.390625, -34.8046875], [-66.09375, -61.5234375]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_820", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[39.375, 58.0078125], [42.890625, 25.6640625], [42.1875, -1.0546875], [37.96875, -50.2734375], [37.265625, -64.3359375]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1280", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[101.25, 42.5390625], [106.875, 13.7109375], [106.171875, -17.9296875], [104.765625, -49.5703125], [102.65625, -67.1484375]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}}
|
||||
]
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1721", "properties":{}, "geometry":{"type":"Point", "coordinates":[-89.296875, -14.4140625]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1715", "properties":{}, "geometry":{"type":"Point", "coordinates":[-25.3125, -54.4921875]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1709", "properties":{}, "geometry":{"type":"Point", "coordinates":[73.828125, -23.5546875]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1489", "properties":{}, "geometry":{"type":"Polygon", "coordinates":[[[-109.6875, 63.6328125], [-112.5, 35.5078125], [-85.078125, 34.8046875], [-68.90625, 39.7265625], [-68.203125, 67.1484375], [-109.6875, 63.6328125]]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
|
||||
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1668", "properties":{}, "geometry":{"type":"Polygon", "coordinates":[[[-40.78125, 65.0390625], [-40.078125, 34.8046875], [-12.65625, 25.6640625], [21.09375, 17.2265625], [22.5, 58.0078125], [-40.78125, 65.0390625]]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -1,349 +0,0 @@
|
||||
{
|
||||
"type": "FeatureCollection",
|
||||
"features": [
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760460.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "24", "L_NREFADDR": "22", "R_REFADDR": "27", "R_NREFADDR": "23", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 41.871700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.330250, 6403958.170400 ], [ 1549594.439950, 6403973.130400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730499.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 46.382600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549497.669850, 6403707.960000 ], [ 1549491.100000, 6403710.100000 ], [ 1549488.039950, 6403716.750400 ], [ 1549488.540100, 6403724.550400 ], [ 1549494.379850, 6403733.540000 ], [ 1549499.679900, 6403738.050400 ], [ 1549506.220000, 6403739.250400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760556.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "24", "L_NREFADDR": "16", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 70.310600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549754.276900, 6403854.802400 ], [ 1549728.459850, 6403920.200000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760712.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "9", "R_NREFADDR": "9", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 40.068900 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549571.899950, 6403675.450400 ], [ 1549592.674200, 6403684.530400 ], [ 1549608.619850, 6403691.500000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30837043.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 78.203400 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549741.089950, 6403765.520000 ], [ 1549730.790150, 6403779.880000 ], [ 1549703.919950, 6403834.130400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80545558.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NORRA VARVSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 20.687400 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549909.400050, 6403973.670400 ], [ 1549900.829950, 6403992.491200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760549.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "38", "L_NREFADDR": "36", "R_REFADDR": "33", "R_NREFADDR": "31", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 32.788800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549878.029900, 6403861.890400 ], [ 1549867.520100, 6403892.960000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547479.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BREDGATAN", "L_REFADDR": "18", "L_NREFADDR": "14", "R_REFADDR": "15", "R_NREFADDR": "13", "SPEED_CAT": "8", "ZIPCODE": "59330", "SHAPE_LEN": 15.654700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549645.069900, 6403971.520000 ], [ 1549638.940000, 6403985.930400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760575.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BREDGATAN", "L_REFADDR": "24", "L_NREFADDR": "14", "R_REFADDR": "19", "R_NREFADDR": "13", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 118.385000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549703.919950, 6403834.130400 ], [ 1549656.739950, 6403942.710400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760608.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "32", "L_NREFADDR": "32", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 74.462800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549566.450100, 6403780.090400 ], [ 1549635.170150, 6403808.780000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547481.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 13.834500 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549625.900050, 6403981.310400 ], [ 1549638.940000, 6403985.930400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730495.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 63.537000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549535.370100, 6403692.830400 ], [ 1549549.530050, 6403703.030400 ], [ 1549570.300100, 6403708.850400 ], [ 1549570.600050, 6403733.360000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80545560.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 20.545100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549927.119850, 6403985.020000 ], [ 1549944.182350, 6403996.455200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760664.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "3", "R_NREFADDR": "1", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 59.030600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549679.130150, 6403720.210400 ], [ 1549717.099900, 6403730.700000 ], [ 1549726.590150, 6403734.160000 ], [ 1549734.260050, 6403739.820000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547480.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "20", "L_NREFADDR": "20", "R_REFADDR": "21", "R_NREFADDR": "21", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 12.375300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549614.030150, 6403977.820000 ], [ 1549621.149850, 6403980.140000 ], [ 1549625.900050, 6403981.310400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760739.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "13", "R_NREFADDR": "11", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 57.793000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549522.250000, 6403645.880000 ], [ 1549571.899950, 6403675.450400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80545557.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NORRA VARVSGATAN", "L_REFADDR": "26", "L_NREFADDR": "20", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 62.216100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549929.770050, 6403914.890400 ], [ 1549909.400050, 6403973.670400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760610.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "SLOTTSHOLMSV<53>GEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 60.324700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549921.910100, 6403780.010400 ], [ 1549931.136800, 6403785.640000 ], [ 1549946.150050, 6403794.800000 ], [ 1549960.880150, 6403807.230400 ], [ 1549962.209450, 6403808.998400 ], [ 1549968.489850, 6403817.350400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760475.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "SP<53>TORGET", "L_REFADDR": "9", "L_NREFADDR": "1", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "8", "ZIPCODE": "59330", "SHAPE_LEN": 70.301600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549656.739950, 6403942.710400 ], [ 1549631.800000, 6403936.830400 ], [ 1549614.030150, 6403977.820000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547460.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "30", "L_NREFADDR": "26", "R_REFADDR": "31", "R_NREFADDR": "29", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 62.288000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549496.649950, 6403937.400000 ], [ 1549525.699950, 6403946.670400 ], [ 1549555.330250, 6403958.170400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547482.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 22.019100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549645.069900, 6403971.520000 ], [ 1549637.249850, 6403978.110400 ], [ 1549633.070150, 6403979.170400 ], [ 1549625.900050, 6403981.310400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730502.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 26.440100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549535.370100, 6403692.830400 ], [ 1549528.510100, 6403718.360000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730491.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "48", "L_NREFADDR": "48", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 53.485400 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549608.619850, 6403691.500000 ], [ 1549600.079850, 6403708.100000 ], [ 1549584.219950, 6403739.090400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760461.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "R<>DHUSGATAN", "L_REFADDR": "52", "L_NREFADDR": "50", "R_REFADDR": "43", "R_NREFADDR": "41", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 62.397200 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.330250, 6403958.170400 ], [ 1549531.400050, 6404015.800000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760674.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 13.834500 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549666.080050, 6403715.590400 ], [ 1549679.130150, 6403720.210400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80545555.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "SLOTTSHOLMSV<53>GEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 185.679000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549968.489850, 6403817.350400 ], [ 1549977.779900, 6403836.400000 ], [ 1549983.460050, 6403858.740000 ], [ 1549982.539900, 6403884.350400 ], [ 1549978.140050, 6403903.230400 ], [ 1549947.139850, 6403954.090400 ], [ 1549927.119850, 6403985.020000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760515.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NORRA VARVSGATAN", "L_REFADDR": "30", "L_NREFADDR": "28", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 22.968600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549938.960000, 6403893.840000 ], [ 1549929.770050, 6403914.890400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760497.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 24.829800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549488.599950, 6403913.910400 ], [ 1549496.649950, 6403937.400000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30837044.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 146.769000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549776.080150, 6403777.100000 ], [ 1549785.590000, 6403778.330400 ], [ 1549886.280100, 6403772.890400 ], [ 1549908.484450, 6403777.327200 ], [ 1549921.910100, 6403780.010400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760477.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "14", "L_NREFADDR": "12", "R_REFADDR": "19", "R_NREFADDR": "11", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 78.700300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549723.519950, 6403934.620000 ], [ 1549697.600000, 6404008.930400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760542.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "22", "L_NREFADDR": "18", "R_REFADDR": "29", "R_NREFADDR": "21", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 34.587000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549798.179850, 6403867.590400 ], [ 1549830.790050, 6403879.130400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760457.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NYGATAN", "L_REFADDR": "8", "L_NREFADDR": "6", "R_REFADDR": "15", "R_NREFADDR": "7", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 45.468000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549796.459950, 6403958.910400 ], [ 1549839.739900, 6403972.810400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573703846.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 8.208130 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549734.260050, 6403739.820000 ], [ 1549738.939900, 6403746.560000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760631.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 46.824600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549741.290150, 6403748.820000 ], [ 1549753.539450, 6403766.201600 ], [ 1549754.750100, 6403767.920000 ], [ 1549761.249950, 6403772.460000 ], [ 1549776.080150, 6403777.100000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760491.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 15.240700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549728.459850, 6403920.200000 ], [ 1549723.519950, 6403934.620000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760566.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NORRA VARVSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 54.648300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549960.410100, 6403843.980000 ], [ 1549959.139950, 6403850.640000 ], [ 1549952.470000, 6403860.580000 ], [ 1549938.960000, 6403893.840000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547447.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 13.369300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549927.421200, 6403767.822400 ], [ 1549921.910100, 6403780.010400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730503.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 44.681900 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549528.510100, 6403718.360000 ], [ 1549570.600050, 6403733.360000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80545559.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 21.047100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549909.400050, 6403973.670400 ], [ 1549927.119850, 6403985.020000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547444.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 46.504800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549967.599100, 6403744.932000 ], [ 1549943.650000, 6403755.770400 ], [ 1549927.421200, 6403767.822400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730492.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 44.681800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549584.219950, 6403739.090400 ], [ 1549566.450100, 6403780.090400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760700.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "7", "R_NREFADDR": "5", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 62.310700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549608.619850, 6403691.500000 ], [ 1549666.080050, 6403715.590400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760611.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 51.110800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549921.910100, 6403780.010400 ], [ 1549913.480000, 6403787.710400 ], [ 1549891.640000, 6403820.850400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547478.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BREDGATAN", "L_REFADDR": "24", "L_NREFADDR": "20", "R_REFADDR": "19", "R_NREFADDR": "17", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 31.088600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549656.739950, 6403942.710400 ], [ 1549645.069900, 6403971.520000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760451.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 20.146600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549594.439950, 6403973.130400 ], [ 1549614.030150, 6403977.820000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760525.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "16", "L_NREFADDR": "14", "R_REFADDR": "19", "R_NREFADDR": "15", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 39.254300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549830.790050, 6403879.130400 ], [ 1549867.520100, 6403892.960000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760497.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 24.829800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549488.599950, 6403913.910400 ], [ 1549496.649950, 6403937.400000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573703847.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 3.259030 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549738.939900, 6403746.560000 ], [ 1549741.290150, 6403748.820000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730500.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 31.544900 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549528.510100, 6403718.360000 ], [ 1549511.590050, 6403738.200000 ], [ 1549506.220000, 6403739.250400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730504.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 32.542600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549497.669850, 6403707.960000 ], [ 1549528.510100, 6403718.360000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760589.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "23", "R_NREFADDR": "21", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 47.569300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549771.489900, 6403810.460000 ], [ 1549754.276900, 6403854.802400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270836", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 34.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549967.599100, 6403744.932000 ], [ 1549999.352500, 6403730.830400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270839", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 9.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549967.599100, 6403744.932000 ], [ 1549975.575600, 6403750.824800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270840", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 18.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549975.575600, 6403750.824800 ], [ 1549992.301750, 6403743.152800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 22, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270840", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 16.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1550001.325450, 6403756.464000 ], [ 1549992.301750, 6403743.152800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270842", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 12.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549927.421200, 6403767.822400 ], [ 1549936.717550, 6403775.876000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270842", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 46.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549936.717550, 6403775.876000 ], [ 1549958.789600, 6403758.524000 ], [ 1549975.575600, 6403750.824800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547691.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808270844", "USERID": "LO-JKP", "ST_NAME": "NORRA BANGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 209.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549937.660100, 6403662.140000 ], [ 1549881.800100, 6403701.550400 ], [ 1549764.730000, 6403731.290400 ], [ 1549745.501350, 6403736.423200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547691.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808270844", "USERID": "LO-JKP", "ST_NAME": "NORRA BANGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 11.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549745.501350, 6403736.423200 ], [ 1549734.260050, 6403739.820000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270847", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 32.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549927.421200, 6403767.822400 ], [ 1549930.803600, 6403753.404000 ], [ 1549928.832400, 6403735.662400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270847", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 53.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549928.832400, 6403735.662400 ], [ 1549962.732350, 6403727.381600 ], [ 1549967.599100, 6403744.932000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270848", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 44.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549928.832400, 6403735.662400 ], [ 1549886.025300, 6403747.621600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270848", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 11.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549886.025300, 6403747.621600 ], [ 1549875.211350, 6403750.643200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270848", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 19.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549888.409150, 6403767.056000 ], [ 1549886.025300, 6403747.621600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270922", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 20.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549745.501350, 6403736.423200 ], [ 1549760.669300, 6403722.331200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270923", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 126.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549760.669300, 6403722.331200 ], [ 1549771.919700, 6403716.340800 ], [ 1549815.248650, 6403610.940000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547535.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808270933", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 5.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549681.045700, 6403715.598400 ], [ 1549679.130150, 6403720.210400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270933", "USERID": "LO-JKP", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 68.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549745.501350, 6403736.423200 ], [ 1549740.387150, 6403731.321600 ], [ 1549681.045700, 6403715.598400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760732.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808270934", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "2", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 56.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549683.510050, 6403654.550400 ], [ 1549667.935400, 6403709.100000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760732.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808270934", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "2", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 6.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549667.935400, 6403709.100000 ], [ 1549666.080050, 6403715.590400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270934", "USERID": "LO-JKP", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 14.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549681.045700, 6403715.598400 ], [ 1549667.935400, 6403709.100000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270935", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 40.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549763.755600, 6403714.004800 ], [ 1549738.019750, 6403704.509600 ], [ 1549731.660600, 6403715.640800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547428.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270936", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "10", "L_NREFADDR": "2", "R_REFADDR": "1", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59331", "SHAPE_LEN": 15.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549766.018350, 6403708.067200 ], [ 1549763.755600, 6403714.004800 ], [ 1549760.669300, 6403722.331200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270936", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 48.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549766.018350, 6403708.067200 ], [ 1549736.048550, 6403696.628800 ], [ 1549743.183300, 6403681.558400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547428.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270936", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "10", "L_NREFADDR": "2", "R_REFADDR": "1", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59331", "SHAPE_LEN": 22.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549774.118750, 6403686.709600 ], [ 1549766.018350, 6403708.067200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270936", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 36.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549774.118750, 6403686.709600 ], [ 1549747.876450, 6403676.916800 ], [ 1549751.868550, 6403670.136800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547428.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270937", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "10", "L_NREFADDR": "2", "R_REFADDR": "1", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59331", "SHAPE_LEN": 25.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549783.651700, 6403662.588800 ], [ 1549778.530150, 6403674.660000 ], [ 1549774.118750, 6403686.709600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547535.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808270938", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 18.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549703.060000, 6403662.590400 ], [ 1549695.854900, 6403679.940000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547535.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808270938", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 38.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549695.854900, 6403679.940000 ], [ 1549681.045700, 6403715.598400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270938", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 27.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549695.854900, 6403679.940000 ], [ 1549710.817400, 6403684.797600 ], [ 1549716.384850, 6403674.867200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270939", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 18.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549704.982200, 6403658.172000 ], [ 1549717.515000, 6403662.725600 ], [ 1549719.527500, 6403657.506400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271124", "USERID": "LO-JKP", "ST_NAME": "F<>NGELSETORGET", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 192.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549908.200950, 6403637.271200 ], [ 1549910.100750, 6403648.924800 ], [ 1549887.237000, 6403693.868800 ], [ 1549878.956000, 6403699.779200 ], [ 1549807.205300, 6403714.370400 ], [ 1549760.669300, 6403722.331200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 1900112527.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808271126", "USERID": "LO-JKP", "ST_NAME": "F<>NGELSETORGET", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 100.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549809.770450, 6403695.048800 ], [ 1549792.424450, 6403687.958400 ], [ 1549824.218800, 6403612.351200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271126", "USERID": "LO-JKP", "ST_NAME": "F<>NGELSETOGET", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 17.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549817.102950, 6403710.910400 ], [ 1549809.770450, 6403695.048800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547449.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271128", "USERID": "LO-JKP", "ST_NAME": "S<>DRA VARVSGATAN", "L_REFADDR": "40", "L_NREFADDR": "32", "R_REFADDR": "21", "R_NREFADDR": "15", "SPEED_CAT": "6", "ZIPCODE": "59350", "SHAPE_LEN": 23.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549989.554600, 6403806.848000 ], [ 1549976.880050, 6403812.990400 ], [ 1549968.489850, 6403817.350400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730501.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271500", "USERID": "LO-JKP", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 9.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549570.600050, 6403733.360000 ], [ 1549579.722100, 6403737.201600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730501.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271500", "USERID": "LO-JKP", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 4.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549579.722100, 6403737.201600 ], [ 1549584.219950, 6403739.090400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 573730505.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271504", "USERID": "LO-JKP", "ST_NAME": "L<>ROVERKSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 79.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549471.922100, 6403800.288000 ], [ 1549539.838900, 6403825.187200 ], [ 1549546.809850, 6403827.740000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59332", "SHAPE_LEN": 23.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549574.529850, 6403669.305600 ], [ 1549580.125650, 6403672.576800 ], [ 1549595.345750, 6403678.918400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59332", "SHAPE_LEN": 80.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549595.345750, 6403678.918400 ], [ 1549617.976400, 6403688.348000 ], [ 1549648.329450, 6403702.939200 ], [ 1549654.639250, 6403704.509600 ], [ 1549660.157350, 6403703.329600 ], [ 1549667.935400, 6403709.100000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 68.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549579.722100, 6403737.201600 ], [ 1549586.633550, 6403729.352000 ], [ 1549598.065250, 6403704.509600 ], [ 1549595.698200, 6403698.599200 ], [ 1549588.604750, 6403693.078400 ], [ 1549592.674200, 6403684.530400 ], [ 1549595.345750, 6403678.918400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "KVARNGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 185.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549495.671350, 6403901.486400 ], [ 1549498.716350, 6403900.056000 ], [ 1549509.356700, 6403886.655200 ], [ 1549520.005100, 6403865.753600 ], [ 1549533.012150, 6403839.740800 ], [ 1549539.838900, 6403825.187200 ], [ 1549547.990750, 6403807.808000 ], [ 1549557.459650, 6403786.516800 ], [ 1549566.128450, 6403765.624800 ], [ 1549574.805650, 6403746.692800 ], [ 1549579.722100, 6403737.201600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547462.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "44", "L_NREFADDR": "38", "R_REFADDR": "61", "R_NREFADDR": "53", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 14.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549501.325600, 6403908.552800 ], [ 1549497.550150, 6403911.790400 ], [ 1549488.599950, 6403913.910400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 9.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549495.671350, 6403901.486400 ], [ 1549501.325600, 6403908.552800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271509", "USERID": "LO-JKP", "ST_NAME": "SLOTTHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 29.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549745.501350, 6403736.423200 ], [ 1549760.487650, 6403761.674400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271509", "USERID": "LO-JKP", "ST_NAME": "SLOTTHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 130.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549760.487650, 6403761.674400 ], [ 1549773.107600, 6403768.775200 ], [ 1549794.000150, 6403771.925600 ], [ 1549806.223900, 6403771.925600 ], [ 1549847.621200, 6403768.775200 ], [ 1549874.427700, 6403767.595200 ], [ 1549888.409150, 6403767.056000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760574.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271509", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "26", "L_NREFADDR": "24", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 5.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549703.919950, 6403834.130400 ], [ 1549709.114300, 6403836.262400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760574.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271509", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "26", "L_NREFADDR": "24", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 48.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549709.114300, 6403836.262400 ], [ 1549754.276900, 6403854.802400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760590.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271510", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "30", "L_NREFADDR": "28", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 37.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549635.170150, 6403808.780000 ], [ 1549670.099800, 6403821.660000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271510", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 45.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549670.099800, 6403821.660000 ], [ 1549661.138750, 6403843.681600 ], [ 1549652.074100, 6403839.340800 ], [ 1549647.702600, 6403850.082400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760590.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271511", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "30", "L_NREFADDR": "28", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 4.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549670.099800, 6403821.660000 ], [ 1549674.526600, 6403823.292000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760590.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271511", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "30", "L_NREFADDR": "28", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 31.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549674.526600, 6403823.292000 ], [ 1549703.919950, 6403834.130400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271511", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 23.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549674.526600, 6403823.292000 ], [ 1549664.644350, 6403844.952000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271512", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 47.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549760.487650, 6403761.674400 ], [ 1549753.539450, 6403766.201600 ], [ 1549734.473200, 6403778.625600 ], [ 1549728.022350, 6403793.287200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271513", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 9.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549728.022350, 6403793.287200 ], [ 1549724.270700, 6403801.813600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271513", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 37.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549724.270700, 6403801.813600 ], [ 1549709.114300, 6403836.262400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271514", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 51.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549754.276900, 6403854.802400 ], [ 1549737.228050, 6403806.618400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271514", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 13.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549737.228050, 6403806.618400 ], [ 1549724.270700, 6403801.813600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547503.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271514", "USERID": "LO-JKP", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "25", "R_NREFADDR": "25", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 17.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549774.889100, 6403793.607200 ], [ 1549771.489900, 6403810.460000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271514", "USERID": "LO-JKP", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 40.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549737.228050, 6403806.618400 ], [ 1549769.560700, 6403793.607200 ], [ 1549774.889100, 6403793.607200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547503.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271515", "USERID": "LO-JKP", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "25", "R_NREFADDR": "25", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 14.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549776.080150, 6403777.100000 ], [ 1549775.301400, 6403791.567200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547503.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271515", "USERID": "LO-JKP", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "25", "R_NREFADDR": "25", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 2.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549775.301400, 6403791.567200 ], [ 1549774.889100, 6403793.607200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "SLOTTHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 23.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549888.409150, 6403767.056000 ], [ 1549894.924400, 6403766.804800 ], [ 1549911.882600, 6403767.984800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "SLOTTHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 15.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549911.882600, 6403767.984800 ], [ 1549927.421200, 6403767.822400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760596.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "12", "L_NREFADDR": "6", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 68.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549818.068600, 6403799.888800 ], [ 1549884.091550, 6403818.700000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760596.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "12", "L_NREFADDR": "6", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 7.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549884.091550, 6403818.700000 ], [ 1549891.640000, 6403820.850400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 58.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549911.882600, 6403767.984800 ], [ 1549908.484450, 6403777.327200 ], [ 1549905.284050, 6403786.126400 ], [ 1549884.091550, 6403818.700000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760579.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271517", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 6.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549891.640000, 6403820.850400 ], [ 1549897.839200, 6403822.604000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271517", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 61.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549936.717550, 6403775.876000 ], [ 1549931.136800, 6403785.640000 ], [ 1549927.257050, 6403792.427200 ], [ 1549897.839200, 6403822.604000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271517", "USERID": "LO-JKP", "ST_NAME": "SLOTTSHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 7.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549982.841250, 6403805.048000 ], [ 1549989.554600, 6403806.848000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271518", "USERID": "LO-JKP", "ST_NAME": "SLOTTSHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 14.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549775.301400, 6403791.567200 ], [ 1549789.273750, 6403792.036800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271518", "USERID": "LO-JKP", "ST_NAME": "SLOTTSHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 116.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549789.273750, 6403792.036800 ], [ 1549820.418850, 6403786.116800 ], [ 1549862.599800, 6403784.936000 ], [ 1549905.284050, 6403786.126400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271518", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 29.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549818.068600, 6403799.888800 ], [ 1549789.273750, 6403792.036800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547461.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280759", "USERID": "LO-JKP", "ST_NAME": "V<>RDTR<54>DSPLAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "7", "R_NREFADDR": "3", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 93.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549635.170150, 6403808.780000 ], [ 1549633.900000, 6403814.330400 ], [ 1549618.609900, 6403847.560000 ], [ 1549614.980050, 6403851.970400 ], [ 1549605.460050, 6403851.850400 ], [ 1549590.180100, 6403883.960800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547461.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280759", "USERID": "LO-JKP", "ST_NAME": "V<>RDTR<54>DSPLAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "7", "R_NREFADDR": "3", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 51.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549590.180100, 6403883.960800 ], [ 1549568.259950, 6403874.780000 ], [ 1549542.790100, 6403864.450400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280759", "USERID": "LO-JKP", "ST_NAME": "V<>RDTR<54>DSPLAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 99.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.330250, 6403958.170400 ], [ 1549562.119900, 6403948.800800 ], [ 1549569.040100, 6403929.018400 ], [ 1549576.364550, 6403927.638400 ], [ 1549583.482500, 6403925.468800 ], [ 1549590.600800, 6403917.357600 ], [ 1549593.767950, 6403909.047200 ], [ 1549596.737350, 6403902.126400 ], [ 1549585.857950, 6403894.605600 ], [ 1549590.180100, 6403883.960800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760476.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280801", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "12", "L_NREFADDR": "10", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 62.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549723.519950, 6403934.620000 ], [ 1549782.972000, 6403954.418400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760476.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280801", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "12", "L_NREFADDR": "10", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 14.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549782.972000, 6403954.418400 ], [ 1549796.459950, 6403958.910400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760555.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280803", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "33", "R_NREFADDR": "31", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 37.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549754.276900, 6403854.802400 ], [ 1549789.877500, 6403865.172000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760555.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280803", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "33", "R_NREFADDR": "31", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 8.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549789.877500, 6403865.172000 ], [ 1549798.179850, 6403867.590400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280803", "USERID": "LO-JKP", "ST_NAME": "G<>STA BERNARDS GATA", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 44.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549763.127350, 6403899.236800 ], [ 1549769.602000, 6403885.904800 ], [ 1549772.571400, 6403880.964800 ], [ 1549789.877500, 6403865.172000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280805", "USERID": "LO-JKP", "ST_NAME": "GR<47>NA GR<47>ND", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 42.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549782.972000, 6403954.418400 ], [ 1549793.934000, 6403923.878400 ], [ 1549786.164350, 6403917.663200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280805", "USERID": "LO-JKP", "ST_NAME": "GR<47>NA GR<47>ND", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 29.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549786.164350, 6403917.663200 ], [ 1549763.127350, 6403899.236800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760512.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "TR<54>DG<44>RDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "3", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 16.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549763.127350, 6403899.236800 ], [ 1549754.840050, 6403906.050400 ], [ 1549749.691200, 6403908.812000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760512.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "TR<54>DG<44>RDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "3", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 24.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549749.691200, 6403908.812000 ], [ 1549728.459850, 6403920.200000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "G<>STA BERNARDS GATA", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 49.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549786.477600, 6403917.288000 ], [ 1549786.164350, 6403917.663200 ], [ 1549781.471200, 6403923.288000 ], [ 1549778.501800, 6403931.988800 ], [ 1549753.386150, 6403924.078400 ], [ 1549757.605750, 6403919.492000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "G<>STA BERNARDS GATA", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 7.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549757.605750, 6403919.492000 ], [ 1549762.549850, 6403914.117600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "G<>STA BERNARDS GATA", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 13.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549749.691200, 6403908.812000 ], [ 1549757.605750, 6403919.492000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760580.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280807", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "42", "L_NREFADDR": "40", "R_REFADDR": "37", "R_NREFADDR": "35", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 25.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549891.640000, 6403820.850400 ], [ 1549883.651250, 6403844.940000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760580.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280807", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "42", "L_NREFADDR": "40", "R_REFADDR": "37", "R_NREFADDR": "35", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 17.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549883.651250, 6403844.940000 ], [ 1549878.029900, 6403861.890400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280807", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 19.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549883.651250, 6403844.940000 ], [ 1549902.215600, 6403851.322400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760588.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "24", "L_NREFADDR": "14", "R_REFADDR": "23", "R_NREFADDR": "15", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 85.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549771.489900, 6403810.460000 ], [ 1549848.872800, 6403847.815200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760588.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "24", "L_NREFADDR": "14", "R_REFADDR": "23", "R_NREFADDR": "15", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 32.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549848.872800, 6403847.815200 ], [ 1549878.029900, 6403861.890400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 16.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549848.872800, 6403847.815200 ], [ 1549858.013750, 6403836.851200 ], [ 1549859.956250, 6403835.057600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 8.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549859.956250, 6403835.057600 ], [ 1549865.800200, 6403829.660800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 7.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549859.956250, 6403835.057600 ], [ 1549866.996150, 6403838.471200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760516.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "12", "L_NREFADDR": "2", "R_REFADDR": "13", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 39.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549867.520100, 6403892.960000 ], [ 1549904.353050, 6403905.936000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760516.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "12", "L_NREFADDR": "2", "R_REFADDR": "13", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 26.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549904.353050, 6403905.936000 ], [ 1549929.770050, 6403914.890400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760548.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "12", "L_NREFADDR": "2", "R_REFADDR": "13", "R_NREFADDR": "13", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 43.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549878.029900, 6403861.890400 ], [ 1549916.095200, 6403881.850400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760548.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "12", "L_NREFADDR": "2", "R_REFADDR": "13", "R_NREFADDR": "13", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 25.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549916.095200, 6403881.850400 ], [ 1549938.960000, 6403893.840000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 26.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549904.353050, 6403905.936000 ], [ 1549912.608150, 6403888.475200 ], [ 1549916.095200, 6403881.850400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760517.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280811", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "34", "L_NREFADDR": "24", "R_REFADDR": "29", "R_NREFADDR": "19", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 23.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549848.114000, 6403950.774400 ], [ 1549839.739900, 6403972.810400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280811", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 30.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549848.114000, 6403950.774400 ], [ 1549869.289000, 6403957.700800 ], [ 1549866.484800, 6403965.702400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760517.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280812", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "34", "L_NREFADDR": "24", "R_REFADDR": "29", "R_NREFADDR": "19", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 36.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549867.520100, 6403892.960000 ], [ 1549856.605700, 6403927.937600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760517.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280812", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "34", "L_NREFADDR": "24", "R_REFADDR": "29", "R_NREFADDR": "19", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 24.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549856.605700, 6403927.937600 ], [ 1549855.749950, 6403930.680000 ], [ 1549848.114000, 6403950.774400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280812", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 22.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549856.605700, 6403927.937600 ], [ 1549842.391850, 6403922.888000 ], [ 1549839.991550, 6403930.109600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760453.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280813", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 44.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549839.739900, 6403972.810400 ], [ 1549882.122450, 6403986.464000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760453.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280814", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 4.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549882.122450, 6403986.464000 ], [ 1549885.859750, 6403988.054400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760453.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280814", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 15.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549885.859750, 6403988.054400 ], [ 1549900.829950, 6403992.491200 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280814", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 30.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549885.859750, 6403988.054400 ], [ 1549892.433450, 6403972.732800 ], [ 1549900.598950, 6403962.172000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "S<>DRA VARVSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 43.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549936.717550, 6403775.876000 ], [ 1549969.438000, 6403803.858400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "S<>DRA VARVSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 13.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549969.438000, 6403803.858400 ], [ 1549982.841250, 6403805.048000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760579.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 37.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549897.839200, 6403822.604000 ], [ 1549934.253900, 6403832.906400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760579.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 29.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549934.253900, 6403832.906400 ], [ 1549957.490050, 6403839.480000 ], [ 1549960.410100, 6403843.980000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "SLOTTSHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 45.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549969.438000, 6403803.858400 ], [ 1549962.209450, 6403808.998400 ], [ 1549954.459400, 6403814.508800 ], [ 1549934.253900, 6403832.906400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547462.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808290805", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "44", "L_NREFADDR": "38", "R_REFADDR": "61", "R_NREFADDR": "53", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 23.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549546.809850, 6403827.740000 ], [ 1549537.632500, 6403849.605600 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 80547462.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808290805", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "44", "L_NREFADDR": "38", "R_REFADDR": "61", "R_NREFADDR": "53", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 70.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549537.632500, 6403849.605600 ], [ 1549533.320150, 6403859.880000 ], [ 1549518.660050, 6403889.780000 ], [ 1549507.790100, 6403903.010400 ], [ 1549501.325600, 6403908.552800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808290805", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 46.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549537.632500, 6403849.605600 ], [ 1549561.402400, 6403858.662400 ], [ 1549569.328850, 6403839.652000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760609.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808290829", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "46", "L_NREFADDR": "46", "R_REFADDR": "65", "R_NREFADDR": "63", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 26.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549566.450100, 6403780.090400 ], [ 1549555.974950, 6403804.818400 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760609.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808290829", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "46", "L_NREFADDR": "46", "R_REFADDR": "65", "R_NREFADDR": "63", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 24.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.974950, 6403804.818400 ], [ 1549546.809850, 6403827.740000 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808290829", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 37.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.974950, 6403804.818400 ], [ 1549577.560500, 6403813.319200 ], [ 1549572.603450, 6403826.820800 ] ] } }
|
||||
,
|
||||
{ "type": "Feature", "properties": { "LINK_ID": 30760474.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808290830", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "36", "L_NREFADDR": "32", "R_REFADDR": "51", "R_NREFADDR": "49", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 58.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549496.649950, 6403937.400000 ], [ 1549483.100050, 6403973.990400 ], [ 1549475.242550, 6403991.259200 ] ] } }
|
||||
|
||||
]
|
||||
}
|
||||
@@ -30,13 +30,14 @@
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
map.addControl(new OpenLayers.Control.MousePosition());
|
||||
|
||||
var options = {handlerOptions: {freehand: true}};
|
||||
drawControls = {
|
||||
point: new OpenLayers.Control.DrawFeature(pointLayer,
|
||||
OpenLayers.Handler.Point),
|
||||
line: new OpenLayers.Control.DrawFeature(lineLayer,
|
||||
OpenLayers.Handler.Path),
|
||||
OpenLayers.Handler.Path, options),
|
||||
polygon: new OpenLayers.Control.DrawFeature(polygonLayer,
|
||||
OpenLayers.Handler.Polygon)
|
||||
OpenLayers.Handler.Polygon, options)
|
||||
};
|
||||
|
||||
for(var key in drawControls) {
|
||||
@@ -92,14 +93,11 @@
|
||||
</ul>
|
||||
|
||||
<div id="docs">
|
||||
<p>With the point drawing control active, click on the map to add a point. You can drag the point
|
||||
before letting the mouse up if you want to adjust the position.</p>
|
||||
<p>With the line drawing control active, click on the map to add the points that make up your line.
|
||||
Double-click to finish drawing.</p>
|
||||
<p>With the polygon drawing control active, click on the map to add the points that make up your
|
||||
polygon. Double-click to finish drawing.</p>
|
||||
<p>Hold down the shift key while drawing to activate freehand mode. While drawing lines or polygons
|
||||
in freehand mode, hold the mouse down and a point will be added with every mouse movement.<p>
|
||||
<p>Feature digitizing is in freehand mode by default. In freehand mode, the mouse is treated as a pen.
|
||||
Drawing begins on mouse down, continues with every mouse move, and ends with mouse up.</p>
|
||||
<p>To turn freehand mode off, hold down the shift key while digitizing. With freehand mode off, one
|
||||
vertex is added with each click and double-clicks finish drawing. Freehand mode can be toggled on and off
|
||||
at any time while drawing.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Custom Editing Toolbar</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">
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<style>
|
||||
#in {
|
||||
width: 90%;
|
||||
height: 250px;
|
||||
}
|
||||
#out0, #out1 {
|
||||
height: 100px;
|
||||
width: 90%;
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var filter_1_0 = new OpenLayers.Format.Filter({version: "1.0.0"});
|
||||
var filter_1_1 = new OpenLayers.Format.Filter({version: "1.1.0"});
|
||||
var xml = new OpenLayers.Format.XML();
|
||||
|
||||
var filter;
|
||||
function write() {
|
||||
var code = input.value;
|
||||
try {
|
||||
eval(code);
|
||||
} catch(err) {
|
||||
out0.value = err.message;
|
||||
out1.value = "";
|
||||
}
|
||||
try {
|
||||
out0.value = xml.write(filter_1_0.write(filter));
|
||||
} catch(err) {
|
||||
out0.value = err.message;
|
||||
if(err.lineNumber != undefined) {
|
||||
out0.value += " (line " + err.lineNumber + " " +
|
||||
err.fileName + ")";
|
||||
}
|
||||
}
|
||||
try {
|
||||
out1.value = xml.write(filter_1_1.write(filter));
|
||||
} catch(err) {
|
||||
out1.value = err.message;
|
||||
if(err.lineNumber != undefined) {
|
||||
out1.value += " (line " + err.lineNumber + " " +
|
||||
err.fileName + ")";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var input, out0;
|
||||
window.onload = function() {
|
||||
input = document.getElementById("in");
|
||||
out0 = document.getElementById("out0");
|
||||
out1 = document.getElementById("out1");
|
||||
out0.value = "";
|
||||
out1.value = "";
|
||||
document.getElementById("write").onclick = write;
|
||||
};
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id="title">Filter Encoding</h1>
|
||||
<p id="shortdesc">
|
||||
Using the filter format write out filter objects.
|
||||
</p>
|
||||
<textarea id="in">
|
||||
filter = new OpenLayers.Filter.Logical({
|
||||
type: OpenLayers.Filter.Logical.AND,
|
||||
filters: [
|
||||
new OpenLayers.Filter.Comparison({
|
||||
type: OpenLayers.Filter.Comparison.LIKE,
|
||||
property: "person",
|
||||
value: "me"
|
||||
}),
|
||||
new OpenLayers.Filter.Comparison({
|
||||
type: OpenLayers.Filter.Comparison.NOT_EQUAL_TO,
|
||||
property: "mean",
|
||||
value: "yes"
|
||||
}),
|
||||
new OpenLayers.Filter.Spatial({
|
||||
type: OpenLayers.Filter.Spatial.BBOX,
|
||||
value: new OpenLayers.Bounds(-180, -90, 180, 90),
|
||||
projection: "EPSG:4326"
|
||||
})
|
||||
]
|
||||
});
|
||||
</textarea>
|
||||
<button id="write">write</button><br />
|
||||
Filter Encoding 1.0
|
||||
<textarea id="out0"></textarea><br />
|
||||
Filter Encoding 1.1
|
||||
<textarea id="out1"></textarea><br />
|
||||
<p id="docs">
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
// Create a GML layer with GeoRSS format and a style map.
|
||||
markerLayer = new OpenLayers.Layer.GML("Some images from Flickr",
|
||||
"xml/georss-flickr.xml", {
|
||||
"xml/georss-flickr.xml", {
|
||||
format: OpenLayers.Format.GeoRSS,
|
||||
formatOptions: {
|
||||
// adds the thumbnail attribute to the feature
|
||||
@@ -61,8 +61,8 @@
|
||||
return feature;
|
||||
}
|
||||
},
|
||||
// Giving the style map keys for "default" and "select"
|
||||
// rendering intent, to make the image larger when selected
|
||||
// Giving the style map keys for "default" and "select"
|
||||
// rendering intent, to make the image larger when selected
|
||||
styleMap: new OpenLayers.StyleMap({
|
||||
"default": style,
|
||||
"select": new OpenLayers.Style({pointRadius: 35})
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<title>WFS: GetFeature Example (GeoServer)</title>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map, layer, select, hover, control;
|
||||
|
||||
function init(){
|
||||
OpenLayers.ProxyHost= "proxy.cgi?url=";
|
||||
map = new OpenLayers.Map('map', {
|
||||
controls: [
|
||||
new OpenLayers.Control.PanZoom(),
|
||||
new OpenLayers.Control.Permalink(),
|
||||
new OpenLayers.Control.Navigation()
|
||||
]
|
||||
});
|
||||
layer = new OpenLayers.Layer.WMS(
|
||||
"States WMS/WFS",
|
||||
"http://demo.opengeo.org/geoserver/ows",
|
||||
{layers: 'topp:states', format: 'image/gif'}
|
||||
);
|
||||
select = new OpenLayers.Layer.Vector("Selection", {styleMap:
|
||||
new OpenLayers.Style(OpenLayers.Feature.Vector.style["select"])
|
||||
});
|
||||
hover = new OpenLayers.Layer.Vector("Hover");
|
||||
map.addLayers([layer, hover, select]);
|
||||
|
||||
control = new OpenLayers.Control.GetFeature({
|
||||
protocol: OpenLayers.Protocol.WFS.fromWMSLayer(layer),
|
||||
box: true,
|
||||
hover: true,
|
||||
multipleKey: "shiftKey",
|
||||
toggleKey: "ctrlKey"
|
||||
});
|
||||
control.events.register("featureselected", this, function(e) {
|
||||
select.addFeatures([e.feature]);
|
||||
});
|
||||
control.events.register("featureunselected", this, function(e) {
|
||||
select.removeFeatures([e.feature]);
|
||||
});
|
||||
control.events.register("hoverfeature", this, function(e) {
|
||||
hover.addFeatures([e.feature]);
|
||||
});
|
||||
control.events.register("outfeature", this, function(e) {
|
||||
hover.removeFeatures([e.feature]);
|
||||
});
|
||||
map.addControl(control);
|
||||
control.activate();
|
||||
|
||||
map.setCenter(new OpenLayers.Bounds(-140.444336,25.115234,-44.438477,50.580078).getCenterLonLat(), 3);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">WFS GetFeature Example (GeoServer)</h1>
|
||||
|
||||
<div id="tags">
|
||||
</div>
|
||||
|
||||
<p id="shortdesc">
|
||||
Shows how to use the GetFeature control to select features from a
|
||||
WMS layer. Click or drag a box to select features, use the Shift key to
|
||||
add features to the selection, use the Ctrl key to toggle a feature's
|
||||
selected status. Note that this control also has a hover option, which is
|
||||
enabled in this example. This gives you a visual feedback by loading the
|
||||
feature underneath the mouse pointer from the WFS, but causes a lot of
|
||||
GetFeature requests to be issued.
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
@@ -1,217 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>OpenLayers WMS Feature Info Example (GeoServer)</title>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<style type="text/css">
|
||||
ul, li {
|
||||
padding-left: 0px;
|
||||
margin-left: 0px;
|
||||
list-style: none;
|
||||
}
|
||||
#info {
|
||||
position: absolute;
|
||||
top: 6em;
|
||||
left: 550px;
|
||||
}
|
||||
#info table td {
|
||||
border:1px solid #ddd;
|
||||
border-collapse: collapse;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 90%;
|
||||
padding: .2em .1em;
|
||||
background:#fff;
|
||||
}
|
||||
#info table th{
|
||||
padding:.2em .2em;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
background: #eee;
|
||||
}
|
||||
tr.odd td {
|
||||
background:#eee;
|
||||
}
|
||||
table.featureInfo caption {
|
||||
text-align:left;
|
||||
font-size:100%;
|
||||
font-weight:bold;
|
||||
text-transform:uppercase;
|
||||
padding:.2em .2em;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script defer="defer" type="text/javascript">
|
||||
OpenLayers.ProxyHost = "proxy.cgi?url=";
|
||||
|
||||
var map, infocontrols, water, highlightlayer;
|
||||
|
||||
function load() {
|
||||
map = new OpenLayers.Map('map', {
|
||||
maxExtent: new OpenLayers.Bounds(143.834,-43.648,148.479,-39.573)
|
||||
});
|
||||
|
||||
var political = new OpenLayers.Layer.WMS("State Boundaries",
|
||||
"http://demo.opengeo.org/geoserver/wms",
|
||||
{'layers': 'topp:tasmania_state_boundaries', transparent: true, format: 'image/gif'},
|
||||
{isBaseLayer: true}
|
||||
);
|
||||
|
||||
var roads = new OpenLayers.Layer.WMS("Roads",
|
||||
"http://demo.opengeo.org/geoserver/wms",
|
||||
{'layers': 'topp:tasmania_roads', transparent: true, format: 'image/gif'},
|
||||
{isBaseLayer: false}
|
||||
);
|
||||
|
||||
var cities = new OpenLayers.Layer.WMS("Cities",
|
||||
"http://demo.opengeo.org/geoserver/wms",
|
||||
{'layers': 'topp:tasmania_cities', transparent: true, format: 'image/gif'},
|
||||
{isBaseLayer: false}
|
||||
);
|
||||
|
||||
water = new OpenLayers.Layer.WMS("Bodies of Water",
|
||||
"http://demo.opengeo.org/geoserver/wms",
|
||||
{'layers': 'topp:tasmania_water_bodies', transparent: true, format: 'image/gif'},
|
||||
{isBaseLayer: false}
|
||||
);
|
||||
|
||||
highlightLayer = new OpenLayers.Layer.Vector("Highlighted Features", {
|
||||
displayInLayerSwitcher: false,
|
||||
isBaseLayer: false
|
||||
}
|
||||
);
|
||||
|
||||
infoControls = {
|
||||
click: new OpenLayers.Control.WMSGetFeatureInfo({
|
||||
url: 'http://demo.opengeo.org/geoserver/wms',
|
||||
title: 'Identify features by clicking',
|
||||
layers: [water],
|
||||
queryVisible: true
|
||||
}),
|
||||
hover: new OpenLayers.Control.WMSGetFeatureInfo({
|
||||
url: 'http://demo.opengeo.org/geoserver/wms',
|
||||
title: 'Identify features by clicking',
|
||||
layers: [water],
|
||||
hover: true,
|
||||
// defining a custom format options here
|
||||
formatOptions: {
|
||||
typeName: 'water_bodies',
|
||||
featureNS: 'http://www.openplans.org/topp'
|
||||
},
|
||||
queryVisible: true
|
||||
})
|
||||
}
|
||||
|
||||
map.addLayers([political, roads, cities, water, highlightLayer]);
|
||||
for (var i in infoControls) {
|
||||
infoControls[i].events.register("getfeatureinfo", this, showInfo);
|
||||
map.addControl(infoControls[i]);
|
||||
}
|
||||
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
|
||||
infoControls.click.activate();
|
||||
map.zoomToMaxExtent();
|
||||
}
|
||||
|
||||
function showInfo(evt) {
|
||||
if (evt.features && evt.features.length) {
|
||||
highlightLayer.destroyFeatures();
|
||||
highlightLayer.addFeatures(evt.features);
|
||||
highlightLayer.redraw();
|
||||
} else {
|
||||
$('responseText').innerHTML = evt.text;
|
||||
}
|
||||
}
|
||||
|
||||
function toggleControl(element) {
|
||||
for (var key in infoControls) {
|
||||
var control = infoControls[key];
|
||||
if (element.value == key && element.checked) {
|
||||
control.activate();
|
||||
} else {
|
||||
control.deactivate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function toggleFormat(element) {
|
||||
for (var key in infoControls) {
|
||||
var control = infoControls[key];
|
||||
control.infoFormat = element.value;
|
||||
}
|
||||
}
|
||||
|
||||
function toggleLayers(element) {
|
||||
for (var key in infoControls) {
|
||||
var control = infoControls[key];
|
||||
if (element.value == 'Specified') {
|
||||
control.layers = [water];
|
||||
} else {
|
||||
control.layers = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// function toggle(key
|
||||
</script>
|
||||
</head>
|
||||
<body onload="load()">
|
||||
<h1 id="title">Feature Info Example</h1>
|
||||
|
||||
<div id="tags"></div>
|
||||
|
||||
<p id="shortdesc">
|
||||
Demonstrates the WMSGetFeatureInfo control for fetching information about a position from WMS (via GetFeatureInfo request).
|
||||
</p>
|
||||
|
||||
<div id="info">
|
||||
<h1>Tasmania</h1>
|
||||
<p>Click on the map to get feature info.</p>
|
||||
<div id="responseText">
|
||||
</div>
|
||||
</div>
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs">
|
||||
</div>
|
||||
<ul id="control">
|
||||
<li>
|
||||
<input type="radio" name="controlType" value="click" id="click"
|
||||
onclick="toggleControl(this);" checked="checked" />
|
||||
<label for="click">Click</label>
|
||||
</li>
|
||||
<li>
|
||||
<input type="radio" name="controlType" value="hover" id="hover"
|
||||
onclick="toggleControl(this);" />
|
||||
<label for="hover">Hover</label>
|
||||
</li>
|
||||
</ul>
|
||||
<ul id="format">
|
||||
<li>
|
||||
<input type="radio" name="formatType" value="text/html" id="html"
|
||||
onclick="toggleFormat(this);" checked="checked" />
|
||||
<label for="html">Show HTML Description</label>
|
||||
</li>
|
||||
<li>
|
||||
<input type="radio" name="formatType" value="application/vnd.ogc.gml" id="highlight"
|
||||
onclick="toggleFormat(this);" />
|
||||
<label for="highlight">Highlight Feature on Map</label>
|
||||
</li>
|
||||
</ul>
|
||||
<ul id="layers">
|
||||
<li>
|
||||
<input type="radio" name="layerSelection" value="Specified" id="Specified"
|
||||
onclick="toggleLayers(this);" checked="checked" />
|
||||
<label for="Specified">Get water body info</label>
|
||||
</li>
|
||||
<li>
|
||||
<input type="radio" name="layerSelection" value="Auto" id="Auto"
|
||||
onclick="toggleLayers(this);" />
|
||||
<label for="Auto">Get info for visible layers</label>
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,6 @@
|
||||
<head>
|
||||
<title>OpenLayers Google Layer Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../theme/default/google.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<!-- this gmaps key generated for http://openlayers.org/dev/ -->
|
||||
<script src='http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
|
||||
@@ -19,16 +18,15 @@
|
||||
{type: G_PHYSICAL_MAP}
|
||||
);
|
||||
var gmap = new OpenLayers.Layer.Google(
|
||||
"Google Streets", // the default
|
||||
{numZoomLevels: 20}
|
||||
"Google Streets" // the default
|
||||
);
|
||||
var ghyb = new OpenLayers.Layer.Google(
|
||||
"Google Hybrid",
|
||||
{type: G_HYBRID_MAP, numZoomLevels: 20}
|
||||
{type: G_HYBRID_MAP}
|
||||
);
|
||||
var gsat = new OpenLayers.Layer.Google(
|
||||
"Google Satellite",
|
||||
{type: G_SATELLITE_MAP, numZoomLevels: 20}
|
||||
{type: G_SATELLITE_MAP}
|
||||
);
|
||||
|
||||
|
||||
@@ -50,14 +48,10 @@
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs">
|
||||
<p>
|
||||
For best performance, you must be using a version of the Google Maps
|
||||
API which is v2.93 or higher. In order to use this version of the API,
|
||||
it is best to simply set your application to use the string "v=2" in
|
||||
the request, rather than tying your application to an explicit version.</p>
|
||||
<p>
|
||||
In order to position the Google attribution div in the default ocation,
|
||||
you must include the extra theme/default/google.css stylesheet.</p>
|
||||
the request, rather than tying your application to an explicit version.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -5,18 +5,13 @@
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
// user custom graphicname
|
||||
|
||||
OpenLayers.Renderer.symbol.lightning = [0,0, 4,2, 6,0, 10,5, 6,3, 4,5, 0,0];
|
||||
OpenLayers.Renderer.symbol.rectangle = [0,0, 10,0, 10,4, 0,4, 0,0];
|
||||
|
||||
var map;
|
||||
|
||||
function init() {
|
||||
map = new OpenLayers.Map('map');
|
||||
|
||||
// list of well-known graphic names
|
||||
var graphics = ["star", "cross", "x", "square", "triangle", "circle", "lightning", "rectangle"];
|
||||
var graphics = ["star", "cross", "x", "square", "triangle", "circle"];
|
||||
|
||||
// Create one feature for each well known graphic.
|
||||
// Give features a type attribute with the graphic name.
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>SelectFeature Control for Select and Highlight</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">
|
||||
#controlToggle li {
|
||||
list-style: none;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/Firebug/firebug.js"></script>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var map, controls;
|
||||
|
||||
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
|
||||
|
||||
function init(){
|
||||
map = new OpenLayers.Map('map');
|
||||
|
||||
var vectors = new OpenLayers.Layer.Vector("vector", {isBaseLayer: true});
|
||||
map.addLayers([vectors]);
|
||||
|
||||
var feature = new OpenLayers.Feature.Vector(
|
||||
OpenLayers.Geometry.fromWKT(
|
||||
"POLYGON((28.828125 0.3515625, 132.1875 -13.0078125, -1.40625 -59.4140625, 28.828125 0.3515625))"
|
||||
)
|
||||
);
|
||||
vectors.addFeatures([feature]);
|
||||
|
||||
var feature2 = new OpenLayers.Feature.Vector(
|
||||
OpenLayers.Geometry.fromWKT(
|
||||
"POLYGON((-120.828125 -50.3515625, -80.1875 -80.0078125, -40.40625 -20.4140625, -120.828125 -50.3515625))"
|
||||
)
|
||||
);
|
||||
vectors.addFeatures([feature2]);
|
||||
|
||||
var report = function(e) {
|
||||
OpenLayers.Console.log(e.type, e.feature.id);
|
||||
};
|
||||
|
||||
var highlightCtrl = new OpenLayers.Control.SelectFeature(vectors, {
|
||||
hover: true,
|
||||
highlightOnly: true,
|
||||
renderIntent: "temporary",
|
||||
eventListeners: {
|
||||
beforefeaturehighlighted: report,
|
||||
featurehighlighted: report,
|
||||
featureunhighlighted: report
|
||||
}
|
||||
});
|
||||
|
||||
var selectCtrl = new OpenLayers.Control.SelectFeature(vectors,
|
||||
{clickout: true}
|
||||
);
|
||||
|
||||
map.addControl(highlightCtrl);
|
||||
map.addControl(selectCtrl);
|
||||
|
||||
highlightCtrl.activate();
|
||||
selectCtrl.activate();
|
||||
|
||||
map.addControl(new OpenLayers.Control.EditingToolbar(vectors));
|
||||
|
||||
map.setCenter(new OpenLayers.LonLat(0, 0), 1);
|
||||
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OpenLayers Select and Highlight Feature Example</h1>
|
||||
<p id="shortdesc">
|
||||
Select features on click, highlight features on hover.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<p>Select features by clicking on them. Just highlight features by hovering over
|
||||
them.</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -8,7 +8,6 @@
|
||||
width: 512px;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/Firebug/firebug.js"></script>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map;
|
||||
@@ -18,21 +17,11 @@
|
||||
var options = {numZoomLevels: 3};
|
||||
|
||||
var graphic = new OpenLayers.Layer.Image(
|
||||
'City Lights',
|
||||
'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif',
|
||||
new OpenLayers.Bounds(-180, -88.759, 180, 88.759),
|
||||
new OpenLayers.Size(580, 288),
|
||||
options
|
||||
);
|
||||
|
||||
graphic.events.on({
|
||||
loadstart: function() {
|
||||
OpenLayers.Console.log("loadstart");
|
||||
},
|
||||
loadend: function() {
|
||||
OpenLayers.Console.log("loadend");
|
||||
}
|
||||
});
|
||||
'City Lights',
|
||||
'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif',
|
||||
new OpenLayers.Bounds(-180, -88.759, 180, 88.759),
|
||||
new OpenLayers.Size(580, 288),
|
||||
options);
|
||||
|
||||
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
|
||||
"http://t1.hypercube.telascience.org/cgi-bin/landsat7",
|
||||
|
||||
@@ -19,8 +19,7 @@
|
||||
format: OpenLayers.Format.KML,
|
||||
formatOptions: {
|
||||
extractStyles: true,
|
||||
extractAttributes: true,
|
||||
maxDepth: 2
|
||||
extractAttributes: true
|
||||
}
|
||||
}));
|
||||
map.zoomToExtent(new OpenLayers.Bounds(-112.306698,36.017792,-112.03204,36.18087));
|
||||
|
||||
@@ -262,14 +262,6 @@
|
||||
-112.2626894973474,36.10149062823369,630 </coordinates>
|
||||
</LineString>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Blue Icon</name>
|
||||
<description>Just another blue icon.</description>
|
||||
<styleUrl>kml/styles.kml#blueIcons</styleUrl>
|
||||
<Point>
|
||||
<coordinates>-112.292238941097,36.09520916122063,630</coordinates>
|
||||
</Point>
|
||||
</Placemark>
|
||||
</Folder>
|
||||
</Document>
|
||||
</kml>
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
This file contains styles referenced by other KML files in this project.
|
||||
http://kml-samples.googlecode.com/svn/trunk/kml/Style/styles.kml
|
||||
|
||||
-->
|
||||
<kml xmlns="http://earth.google.com/kml/2.1">
|
||||
<Document id="globalStyles">
|
||||
|
||||
<Style id="blueIcons">
|
||||
<IconStyle>
|
||||
<color>ffff0000</color>
|
||||
<Icon>
|
||||
<href>http://maps.google.com/mapfiles/kml/shapes/sunny.png</href>
|
||||
</Icon>
|
||||
</IconStyle>
|
||||
</Style>
|
||||
|
||||
</Document>
|
||||
</kml>
|
||||
@@ -1,42 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers Late Rendering Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var map, layer;
|
||||
function init(){
|
||||
map = new OpenLayers.Map();
|
||||
layer = new OpenLayers.Layer.WMS(
|
||||
"OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0",
|
||||
{layers: 'basic'}
|
||||
);
|
||||
map.addLayer(layer);
|
||||
map.render("container_id");
|
||||
map.zoomTo(2);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Late Rendering</h1>
|
||||
|
||||
<div id="tags"></div>
|
||||
|
||||
<p id="shortdesc">
|
||||
Demonstrates how a map can be rendered to an empty container after
|
||||
construction by calling the render method.
|
||||
</p>
|
||||
<div id="container_id" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
In cases where you need to create a map first and render it to some
|
||||
container later, call the map constructor without a "div" argument.
|
||||
In this case, you can provide the options object as the first argument.
|
||||
To render your map to some container after construction, call the map's
|
||||
render method with the container id.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -21,9 +21,9 @@
|
||||
<script type="text/javascript">
|
||||
|
||||
var map, layer;
|
||||
var url = "http://data.mapguide.com/mapguide/mapagent/mapagent.fcgi?USERNAME=Anonymous&";
|
||||
var url = "http://demo01.dmsolutions.ca/mapguide/mapagent/mapagent.fcgi?USERNAME=Anonymous&";
|
||||
//you can use this URL when MapGuide OS is installed locally
|
||||
//var url = "/mapguide/mapagent/mapagent.fcgi?USERNAME=Anonymous&";
|
||||
//var url = "/mapguide/mapagent/mapagent.fcgi";
|
||||
|
||||
//Adjust the scale assumptions for MapGuide layers
|
||||
//Tiled layers MUST use a DPI value of 96, untiled layers can use a
|
||||
@@ -39,17 +39,19 @@
|
||||
//tiled version
|
||||
function initTiled(){
|
||||
|
||||
var extent = new OpenLayers.Bounds(-87.764987,43.691398,-87.695522,43.797520);
|
||||
var tempScales = [100000,51794.74679,26826.95795,13894.95494,7196.85673,3727.59372,1930.69773,1000];
|
||||
var extent = new OpenLayers.Bounds(-3631568.75,-1293815.5,4491139.5833333321,4937122);
|
||||
var tempScales = [50000000,23207944.16806,10772173.45016,5000000,2320794.41681,1077217.34502,500000,232079.44168,107721.7345,50000];
|
||||
var mapOptions = {
|
||||
maxExtent: extent,
|
||||
scales: tempScales
|
||||
scales: tempScales,
|
||||
units: 'm',
|
||||
projection: 'EPSG:42304'
|
||||
};
|
||||
map = new OpenLayers.Map( 'map', mapOptions );
|
||||
|
||||
var params = {
|
||||
mapdefinition: 'Library://Samples/Sheboygan/MapsTiled/Sheboygan.MapDefinition',
|
||||
basemaplayergroupname: "Base Layer Group"
|
||||
mapdefinition: 'Library://Samples/Gmap/Maps/gmapTiled.MapDefinition',
|
||||
basemaplayergroupname: "BaseLayerGroup"
|
||||
}
|
||||
var options = {
|
||||
singleTile: false
|
||||
@@ -57,18 +59,6 @@
|
||||
var layer = new OpenLayers.Layer.MapGuide( "MapGuide OS tiled layer", url, params, options );
|
||||
map.addLayer(layer);
|
||||
|
||||
/**
|
||||
The following example shows how to access an MG tile cache directly
|
||||
through HTTP bypassing the MG mapagent. This depends on having a
|
||||
pre-populated tile cache
|
||||
*/
|
||||
/*
|
||||
options.useHttpTile = true;
|
||||
var cacheUrl = "http://localhost:8008/sheboygan";
|
||||
var httpLayer = new OpenLayers.Layer.MapGuide( "MapGuide HTTP cache tiled layer", cacheUrl, params, options );
|
||||
map.addLayer(httpLayer);
|
||||
*/
|
||||
|
||||
map.zoomToMaxExtent();
|
||||
}
|
||||
|
||||
@@ -83,10 +73,7 @@
|
||||
map = new OpenLayers.Map( 'map2', mapOptions );
|
||||
|
||||
var options = {
|
||||
isBaseLayer: true,
|
||||
buffer: 1,
|
||||
useOverlay: false,
|
||||
useAsyncOverlay: false,
|
||||
singleTile: true
|
||||
};
|
||||
|
||||
@@ -94,39 +81,44 @@
|
||||
mapdefinition: 'Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition'
|
||||
};
|
||||
/*
|
||||
The MapGuide layer can also be created using mapname and session as follows provided there
|
||||
is some wrapper code to obtain a valid session id and mapname */
|
||||
/*
|
||||
The MapGuide layer can also be created using mapname and session as follows provided there
|
||||
is some wrapper code to obtain a valid session id and mapname
|
||||
var params = {
|
||||
mapname: 'Sheboygan49ad9e20e7171',
|
||||
session: '7405c17a-0000-1000-8000-0017a4e6ff5d_en_7F0000010AFC0AFB0AFA'
|
||||
mapname: 'Sheboygan47b3560bf1071',
|
||||
session: '043bb716-0000-1000-8000-0017a4e6ff5d_en_7F0000010AFC0AFB0AFA'
|
||||
};
|
||||
*/
|
||||
|
||||
var layer = new OpenLayers.Layer.MapGuide( "MapGuide OS untiled baselayer", url, params, options );
|
||||
map.addLayer(layer);
|
||||
|
||||
//this is how to set up the layer for transparent overlays. Requires a valid session ID
|
||||
//and mapName stored in that session.
|
||||
//If the mapagent URL is on a different server than this OL layer, the OpenLayers proxy script
|
||||
//must be used since this layer must perform an additional AJAX request before requesting the
|
||||
//map image
|
||||
/*
|
||||
var options = {
|
||||
isBaseLayer: false,
|
||||
useOverlay: true,
|
||||
useAsyncOverlay: false,
|
||||
transparent: true,
|
||||
buffer: 1,
|
||||
singleTile: true
|
||||
};
|
||||
var params = {
|
||||
mapName: 'Sheboygan49aeaa04487af',
|
||||
session: '208fd92c-0000-1000-8000-0017a4e6ff5d_en_7F0000010AFC0AFB0AFA',
|
||||
selectioncolor: '0xFF000000',
|
||||
mapName: 'Sheboygan',
|
||||
session: '0b8cb80e-0000-1000-8003-0017a4e6ff5d_en_C0A802AD0AFC0AFB0AFA',
|
||||
|
||||
|
||||
|
||||
mapName: 'Sheboygan',
|
||||
session: '0b8cb80e-0000-1000-8003-0017a4e6ff5d_en_C0A802AD0AFC0AFB0AFA',
|
||||
version: '2.0.0',
|
||||
selectioncolor: '0xFF0000',
|
||||
behavior: 7
|
||||
};
|
||||
layer = new OpenLayers.Layer.MapGuide( "MapGuide OS Overlay layer", url, params, options );
|
||||
map.addLayer(layer);
|
||||
*/
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher({'div':OpenLayers.Util.getElement('layerswitcher')}));
|
||||
map.zoomToMaxExtent();
|
||||
*/
|
||||
map.zoomToMaxExtent();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -141,10 +133,7 @@
|
||||
</p>
|
||||
|
||||
<p>If prompted for a password, username is Anonymous and an empty password</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="map2">
|
||||
<div id="layerswitcher"></div>
|
||||
</div>
|
||||
<div id="map2"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Vector Graphics with Shadows</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">
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
map.addControl(new OpenLayers.Control.MousePosition());
|
||||
|
||||
// style the sketch fancy
|
||||
var sketchSymbolizers = {
|
||||
sketchSymbolizers = {
|
||||
"Point": {
|
||||
pointRadius: 4,
|
||||
graphicName: "square",
|
||||
@@ -58,26 +58,23 @@
|
||||
};
|
||||
var style = new OpenLayers.Style();
|
||||
style.addRules([
|
||||
new OpenLayers.Rule({symbolizer: sketchSymbolizers})
|
||||
new OpenLayers.Rule({symbolizer: this.sketchSymbolizers})
|
||||
]);
|
||||
var styleMap = new OpenLayers.StyleMap({"default": style});
|
||||
|
||||
var options = {
|
||||
handlerOptions: {
|
||||
style: "default", // this forces default render intent
|
||||
layerOptions: {styleMap: styleMap},
|
||||
persist: true
|
||||
}
|
||||
};
|
||||
measureControls = {
|
||||
line: new OpenLayers.Control.Measure(
|
||||
OpenLayers.Handler.Path, {
|
||||
persist: true,
|
||||
handlerOptions: {
|
||||
layerOptions: {styleMap: styleMap}
|
||||
}
|
||||
}
|
||||
OpenLayers.Handler.Path, options
|
||||
),
|
||||
polygon: new OpenLayers.Control.Measure(
|
||||
OpenLayers.Handler.Polygon, {
|
||||
persist: true,
|
||||
handlerOptions: {
|
||||
layerOptions: {styleMap: styleMap}
|
||||
}
|
||||
}
|
||||
OpenLayers.Handler.Polygon, options
|
||||
)
|
||||
};
|
||||
|
||||
@@ -96,6 +93,31 @@
|
||||
document.getElementById('noneToggle').checked = true;
|
||||
}
|
||||
|
||||
function calcVincenty(geometry) {
|
||||
/**
|
||||
* Note: this function assumes geographic coordinates and
|
||||
* will fail otherwise. OpenLayers.Util.distVincenty takes
|
||||
* two objects representing points with geographic coordinates
|
||||
* and returns the geodesic distance between them (shortest
|
||||
* distance between the two points on an ellipsoid) in *kilometers*.
|
||||
*
|
||||
* It is important to realize that the segments drawn on the map
|
||||
* are *not* geodesics (or "great circle" segments). This means
|
||||
* that in general, the measure returned by this function
|
||||
* will not represent the length of segments drawn on the map.
|
||||
*/
|
||||
var dist = 0;
|
||||
for (var i = 1; i < geometry.components.length; i++) {
|
||||
var first = geometry.components[i-1];
|
||||
var second = geometry.components[i];
|
||||
dist += OpenLayers.Util.distVincenty(
|
||||
{lon: first.x, lat: first.y},
|
||||
{lon: second.x, lat: second.y}
|
||||
);
|
||||
}
|
||||
return dist;
|
||||
}
|
||||
|
||||
function handleMeasurements(event) {
|
||||
var geometry = event.geometry;
|
||||
var units = event.units;
|
||||
@@ -105,6 +127,10 @@
|
||||
var out = "";
|
||||
if(order == 1) {
|
||||
out += "measure: " + measure.toFixed(3) + " " + units;
|
||||
if (map.getProjection() == "EPSG:4326") {
|
||||
out += "<br /> Great Circle Distance: " +
|
||||
calcVincenty(geometry).toFixed(3) + " km *";
|
||||
}
|
||||
} else {
|
||||
out += "measure: " + measure.toFixed(3) + " " + units + "<sup>2</" + "sup>";
|
||||
}
|
||||
@@ -121,13 +147,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function toggleGeodesic(element) {
|
||||
for(key in measureControls) {
|
||||
var control = measureControls[key];
|
||||
control.geodesic = element.checked;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
@@ -153,17 +172,13 @@
|
||||
<input type="radio" name="type" value="polygon" id="polygonToggle" onclick="toggleControl(this);" />
|
||||
<label for="polygonToggle">measure area</label>
|
||||
</li>
|
||||
<li>
|
||||
<input type="checkbox" name="geodesic" id="geodesicToggle" onclick="toggleGeodesic(this);" />
|
||||
<label for="geodesicToggle">use geodesic measures</label>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Note that the geometries drawn are planar geometries and the
|
||||
metrics returned by the measure control are planar measures by
|
||||
default. If your map is in a geographic projection or you have the
|
||||
appropriate projection definitions to transform your geometries into
|
||||
geographic coordinates, you can set the "geodesic" property of the control
|
||||
to true to calculate geodesic measures instead of planar measures.</p>
|
||||
<p>* Note that the geometries drawn are planar geometries and the
|
||||
metrics returned by the measure control are planar measures. The
|
||||
"great circle" distance does not necessarily represent the length
|
||||
of the segments drawn on the map. Instead, it is a geodesic metric that
|
||||
represents the cumulative shortest path between all vertices in the
|
||||
geometry were they projected onto a sphere.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -30,16 +30,12 @@
|
||||
map.addControl(new OpenLayers.Control.MousePosition());
|
||||
|
||||
function report(event) {
|
||||
OpenLayers.Console.log(event.type, event.feature ? event.feature.id : event.components);
|
||||
OpenLayers.Console.log(event.type, event.feature.id);
|
||||
}
|
||||
vectors.events.on({
|
||||
"beforefeaturemodified": report,
|
||||
"featuremodified": report,
|
||||
"afterfeaturemodified": report,
|
||||
"vertexmodified": report,
|
||||
"sketchmodified": report,
|
||||
"sketchstarted": report,
|
||||
"sketchcomplete": report
|
||||
"afterfeaturemodified": report
|
||||
});
|
||||
controls = {
|
||||
point: new OpenLayers.Control.DrawFeature(vectors,
|
||||
@@ -72,16 +68,14 @@
|
||||
var resize = document.getElementById("resize").checked;
|
||||
if(resize) {
|
||||
controls.modify.mode |= OpenLayers.Control.ModifyFeature.RESIZE;
|
||||
var keepAspectRatio = document.getElementById("keepAspectRatio").checked;
|
||||
if (keepAspectRatio) {
|
||||
controls.modify.mode &= ~OpenLayers.Control.ModifyFeature.RESHAPE;
|
||||
}
|
||||
}
|
||||
var drag = document.getElementById("drag").checked;
|
||||
if(drag) {
|
||||
controls.modify.mode |= OpenLayers.Control.ModifyFeature.DRAG;
|
||||
}
|
||||
if (rotate || drag) {
|
||||
// disable reshape mode if at least one of modes rotate, resize,
|
||||
// drag is enabled
|
||||
if (rotate || resize || drag) {
|
||||
controls.modify.mode &= ~OpenLayers.Control.ModifyFeature.RESHAPE;
|
||||
}
|
||||
var sides = parseInt(document.getElementById("sides").value);
|
||||
@@ -105,7 +99,7 @@
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OpenLayers Modify Feature Example</h1>
|
||||
<h3 id="title">OpenLayers Modify Feature Example</h3>
|
||||
<div id="shortdesc">A demonstration of the ModifyFeature control for editing vector features.</div>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="controls">
|
||||
@@ -155,9 +149,6 @@
|
||||
<input id="resize" type="checkbox"
|
||||
name="resize" onchange="update()" />
|
||||
<label for="resize">allow resizing</label>
|
||||
(<input id="keepAspectRatio" type="checkbox"
|
||||
name="keepAspectRatio" onchange="update()" checked="checked" />
|
||||
<label for="keepAspectRatio">keep aspect ratio</label>)
|
||||
</li>
|
||||
<li>
|
||||
<input id="drag" type="checkbox"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Tiles from Multiple Servers</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>A navToolbar with an alwaysZoom ZoomBox</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<!-- Override the position of the toolbar to make it fit in a small map -->
|
||||
<style type='text/css'>
|
||||
.olControlNavToolbar div {
|
||||
top: 150px;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
function init() {
|
||||
|
||||
//Creation of a custom panel with a ZoomBox control with the alwaysZoom option sets to true
|
||||
OpenLayers.Control.CustomNavToolbar = OpenLayers.Class(OpenLayers.Control.Panel, {
|
||||
|
||||
/**
|
||||
* Constructor: OpenLayers.Control.NavToolbar
|
||||
* Add our two mousedefaults controls.
|
||||
*
|
||||
* Parameters:
|
||||
* options - {Object} An optional object whose properties will be used
|
||||
* to extend the control.
|
||||
*/
|
||||
|
||||
|
||||
initialize: function(options) {
|
||||
OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]);
|
||||
this.addControls([
|
||||
new OpenLayers.Control.Navigation(),
|
||||
//Here it come
|
||||
new OpenLayers.Control.ZoomBox({alwaysZoom:true})
|
||||
]);
|
||||
// To make the custom navtoolbar use the regular navtoolbar style
|
||||
this.displayClass = 'olControlNavToolbar'
|
||||
},
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Method: draw
|
||||
* calls the default draw, and then activates mouse defaults.
|
||||
*/
|
||||
draw: function() {
|
||||
var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments);
|
||||
this.activateControl(this.controls[0]);
|
||||
return div;
|
||||
},
|
||||
});
|
||||
|
||||
var map;
|
||||
|
||||
map = new OpenLayers.Map('map');
|
||||
|
||||
var wms = new OpenLayers.Layer.WMS(
|
||||
"OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0",
|
||||
{layers: 'basic'}
|
||||
);
|
||||
|
||||
map.addLayers([wms]);
|
||||
map.zoomToMaxExtent();
|
||||
|
||||
var panel = new OpenLayers.Control.CustomNavToolbar();
|
||||
map.addControl(panel);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">A navToolbar with an alwaysZoom ZoomBox</h1>
|
||||
<p id="shortdesc">
|
||||
Demo of a custom NavToolbar which uses a zoomBox tool that always zoom in even when the zoom box is too big.
|
||||
</p>
|
||||
<div id="map" class="smallmap"> </div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Custom Navigation Toolbar</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">
|
||||
|
||||
@@ -3,11 +3,6 @@
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<title>NavToolbar Demo</title>
|
||||
<style type='text/css'>
|
||||
#map {
|
||||
height: 512px;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var lon = 5;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Single Tile</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: OpenMNND</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
@@ -110,7 +109,6 @@
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OpenMNND WFS</h1>
|
||||
<p id="shortdesc">This example shows the use of a WFS service rendered using the OpenLayers vector library.</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
@@ -118,7 +116,7 @@
|
||||
This is an example that shows rendering a WFS service using OpenLayer vectors in the browser. The OpenLayers code will download the GML
|
||||
from the WFS service for each layer, parse it and create features using the OL vector library to draw the features on the map. For
|
||||
more information on the vector library, please visit <a href="http://trac.openlayers.org/wiki/Documentation/VectorSupport">vector support wiki</a>.
|
||||
In this example there are 4 layers shown on the map. The base layer and parcel layer are created from a WMS service using the OpenLayers.Layer.WMS object.
|
||||
In this example there are 4 layers shown on the map. The base layer and parcel layer are created from a WMS serivce using the OpenLayers.Layer.WMS object.
|
||||
The streams, roads, and plat layers are drawn from a WFS service using the OpenLayers.Layer.WFS object.
|
||||
</p>
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Z-Ordering and Y-Ordering of Vector Features</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">
|
||||
@@ -110,15 +109,13 @@
|
||||
var layer = new OpenLayers.Layer.Vector(
|
||||
"Drawing Order",
|
||||
{
|
||||
// The zIndex is taken from the zIndex attribute of the features
|
||||
// Note there's no z-index set, and yOrdering is left
|
||||
// to its default.
|
||||
styleMap: new OpenLayers.StyleMap({
|
||||
graphicZIndex: "${zIndex}",
|
||||
externalGraphic: "../img/marker-green.png",
|
||||
pointRadius: 10
|
||||
}),
|
||||
isBaseLayer: true,
|
||||
// enable the indexer by setting zIndexing to true
|
||||
rendererOptions: {zIndexing: true}
|
||||
isBaseLayer: true
|
||||
}
|
||||
);
|
||||
|
||||
@@ -142,17 +139,12 @@
|
||||
var leftLonLat = map.getLonLatFromViewPortPx(left);
|
||||
orderingFeatures.push(
|
||||
new OpenLayers.Feature.Vector(
|
||||
new OpenLayers.Geometry.Point(leftLonLat.lon, bottomLonLat.lat),
|
||||
// Set the zIndex attribute of all features to 0.
|
||||
// This attribute will be assigned to the graphicZIndex symbolizer property by the layer's styleMap
|
||||
{zIndex: 0}
|
||||
new OpenLayers.Geometry.Point(leftLonLat.lon, bottomLonLat.lat)
|
||||
)
|
||||
);
|
||||
bottom.y -= POINT_DISTANCE / 2; // Divide by 2 for better visual.
|
||||
left.x += POINT_DISTANCE / 2;
|
||||
}
|
||||
// only the first feature gets a zIndex attribute of 1
|
||||
orderingFeatures[0].attributes.zIndex = 1;
|
||||
|
||||
layer.addFeatures(orderingFeatures);
|
||||
}
|
||||
@@ -184,13 +176,13 @@
|
||||
<div class="docs">
|
||||
In this map, the gold features all have the same z-index, and the red features have alternating z-indeces. The gold features' z-index is greater than the red features' z-indeces, which is why gold features look to be drawn on top of the red features. Since each gold feature has the same z-index, gold features succomb to y-ordering: this is where features that seem closest to the viewer (lower lattitude) show up above those that seem farther away (higher lattitude).
|
||||
<br><br>
|
||||
You can enable y-ordering by passing the parameter <i>yOrdering: true</i> in the vector layer's options hash. For all configurations (with yOrdering or zIndexing set to true), if features have the same z-index -- and if y-ordering is enabled: the same latitude -- those features will succomb to drawing order, where the last feature to be drawn will appear above the rest.
|
||||
All vector layers have z-indexing enabled by default, but are not enabled with y-ordering. You can enable y-ordering by passing the parameter <i>yOrdering: true</i> in the vector layer's options hash. For all configurations, if features have the same z-index -- and if y-ordering is enabled: the same lattitude -- those features will succomb to drawing order, where the last feature to be drawn will appear above the rest.
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<h3>Z-Index and Drawing Order (Z-Indexes set, and Y-Ordering disabled)</h3>
|
||||
<h3>Drawing Order (no Z-Indexes set, and Y-Ordering disabled)</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
@@ -198,9 +190,9 @@
|
||||
</td>
|
||||
<td>
|
||||
<div class="docs">
|
||||
In this map, <i>zIndexing</i> is set to true. All features are given the same z-index (0), except for the first feature which has a z-index of 1. The layer's <i>yOrdering</i> parameter is set to the default (false). This configuration makes features succomb to z-index and drawing order (for the features with the same z-index), instead of y-order.
|
||||
In this map, features are not given z-indexes, and the layer's <i>yOrdering</i> parameter is set to the default (false). This configuration makes features succomb to drawing order instead of z-index order or y-order.
|
||||
<br><br>
|
||||
The features in this map were drawn from left to right and bottom to top, diagonally, to show that y-ordering is not enabled. Only the lower-left corner feature is drawn on top of the others, because it has a higher z-index (1 instead of 0).
|
||||
The features in this map were drawn from left to right and bottom to top, diagonally, to show that y-ordering is not enabled.
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: OSM Layer</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<style>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Control Panel</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">
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Point Track Markers</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" debug="true">
|
||||
<head>
|
||||
<title>OpenLayers: Popup Mayhem</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">
|
||||
@@ -12,6 +11,8 @@
|
||||
}
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="../theme/default/framedCloud.css" type="text/css" />
|
||||
|
||||
<script src="../lib/Firebug/firebug.js"></script>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
new OpenLayers.Size(200,200),
|
||||
"example popup",
|
||||
true);
|
||||
popup.closeOnMove = true;
|
||||
|
||||
map.addPopup(popup);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Non-Geographic Projection</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">
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
clear: left;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/Gears/gears_init.js"></script>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map, vector, protocol, modify;
|
||||
@@ -42,6 +41,11 @@
|
||||
strategies : [new OpenLayers.Strategy.Fixed()],
|
||||
eventListeners: {
|
||||
featuremodified: function(obj) {
|
||||
if (obj.feature.state != OpenLayers.State.INSERT &&
|
||||
obj.feature.state != OpenLayers.State.DELETE) {
|
||||
|
||||
obj.feature.state = OpenLayers.State.UPDATE;
|
||||
}
|
||||
displayStatus();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ import sys, os
|
||||
allowedHosts = ['www.openlayers.org', 'openlayers.org',
|
||||
'labs.metacarta.com', 'world.freemap.in',
|
||||
'prototype.openmnnd.org', 'geo.openplans.org',
|
||||
'sigma.openplans.org', 'demo.opengeo.org',
|
||||
'www.openstreetmap.org', 'sample.avencia.com']
|
||||
'sigma.openplans.org',
|
||||
'www.openstreetmap.org']
|
||||
|
||||
method = os.environ["REQUEST_METHOD"]
|
||||
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>SelectFeature Control on multiple vector layers</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">
|
||||
#controlToggle li {
|
||||
list-style: none;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map, selectControl;
|
||||
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
|
||||
function init(){
|
||||
map = new OpenLayers.Map('map');
|
||||
var wmsLayer = new OpenLayers.Layer.WMS(
|
||||
"OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0",
|
||||
{layers: 'basic'}
|
||||
);
|
||||
|
||||
var vectors1 = new OpenLayers.Layer.Vector("Vector Layer 1", {
|
||||
styleMap: new OpenLayers.StyleMap({
|
||||
"default": new OpenLayers.Style(OpenLayers.Util.applyDefaults({
|
||||
externalGraphic: "../img/marker-green.png",
|
||||
graphicOpacity: 1,
|
||||
rotation: -45,
|
||||
pointRadius: 10
|
||||
}, OpenLayers.Feature.Vector.style["default"])),
|
||||
"select": new OpenLayers.Style({
|
||||
externalGraphic: "../img/marker-blue.png"
|
||||
})
|
||||
})
|
||||
});
|
||||
var vectors2 = new OpenLayers.Layer.Vector("Vector Layer 2", {
|
||||
styleMap: new OpenLayers.StyleMap({
|
||||
"default": new OpenLayers.Style(OpenLayers.Util.applyDefaults({
|
||||
fillColor: "red",
|
||||
strokeColor: "gray",
|
||||
graphicName: "square",
|
||||
rotation: 45,
|
||||
pointRadius: 15
|
||||
}, OpenLayers.Feature.Vector.style["default"])),
|
||||
"select": new OpenLayers.Style(OpenLayers.Util.applyDefaults({
|
||||
graphicName: "square",
|
||||
rotation: 45,
|
||||
pointRadius: 15
|
||||
}, OpenLayers.Feature.Vector.style["select"]))
|
||||
})
|
||||
});
|
||||
map.addLayers([wmsLayer, vectors1, vectors2]);
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
|
||||
selectControl = new OpenLayers.Control.SelectFeature(
|
||||
[vectors1, vectors2],
|
||||
{
|
||||
clickout: true, toggle: false,
|
||||
multiple: false, hover: false,
|
||||
toggleKey: "ctrlKey", // ctrl key removes from selection
|
||||
multipleKey: "shiftKey" // shift key adds to selection
|
||||
}
|
||||
);
|
||||
|
||||
map.addControl(selectControl);
|
||||
selectControl.activate();
|
||||
map.setCenter(new OpenLayers.LonLat(0, 0), 3);
|
||||
vectors1.addFeatures(createFeatures());
|
||||
vectors2.addFeatures(createFeatures());
|
||||
|
||||
vectors1.events.on({
|
||||
"featureselected": function(e) {
|
||||
showStatus("selected feature "+e.feature.id+" on Vector Layer 1");
|
||||
},
|
||||
"featureunselected": function(e) {
|
||||
showStatus("unselected feature "+e.feature.id+" on Vector Layer 1");
|
||||
}
|
||||
});
|
||||
vectors2.events.on({
|
||||
"featureselected": function(e) {
|
||||
showStatus("selected feature "+e.feature.id+" on Vector Layer 2");
|
||||
},
|
||||
"featureunselected": function(e) {
|
||||
showStatus("unselected feature "+e.feature.id+" on Vector Layer 2");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function createFeatures() {
|
||||
var extent = map.getExtent();
|
||||
var features = [];
|
||||
for(var i=0; i<10; ++i) {
|
||||
features.push(new OpenLayers.Feature.Vector(
|
||||
new OpenLayers.Geometry.Point(extent.left + (extent.right - extent.left) * Math.random(),
|
||||
extent.bottom + (extent.top - extent.bottom) * Math.random()
|
||||
)));
|
||||
}
|
||||
return features;
|
||||
}
|
||||
|
||||
function showStatus(text) {
|
||||
document.getElementById("status").innerHTML = text;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OpenLayers Select Feature on Multiple Layers Example</h1>
|
||||
<p id="shortdesc">
|
||||
Select a feature on click with the Control.SelectFeature on multiple
|
||||
vector layers.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="status"></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,6 +2,7 @@
|
||||
<head>
|
||||
<title>Open Popup on Layer.Vector</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../theme/default/framedCloud.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<style type="text/css">
|
||||
#controlToggle li {
|
||||
|
||||
@@ -75,6 +75,8 @@
|
||||
function update() {
|
||||
var clickout = document.getElementById("clickout").checked;
|
||||
drawControls.select.clickout = clickout;
|
||||
var hover = document.getElementById("hover").checked;
|
||||
drawControls.select.hover = hover;
|
||||
drawControls.select.box = document.getElementById("box").checked;
|
||||
if(drawControls.select.active) {
|
||||
drawControls.select.deactivate();
|
||||
|
||||
@@ -1,267 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Snapping & Splitting</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">
|
||||
.olControlEditingToolbar .olControlModifyFeatureItemInactive {
|
||||
background-position: -1px 0px ;
|
||||
}
|
||||
.olControlEditingToolbar .olControlModifyFeatureItemActive {
|
||||
background-position: -1px -23px ;
|
||||
}
|
||||
label.head {
|
||||
font-weight: bold;
|
||||
padding: 1em 0 0.1em 0;
|
||||
border-bottom: 1px solid grey;
|
||||
}
|
||||
td {
|
||||
padding: 0.25em 1em;
|
||||
}
|
||||
tr.head td {
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/Firebug/firebug.js"></script>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
|
||||
|
||||
function init() {
|
||||
initMap();
|
||||
initUI();
|
||||
}
|
||||
|
||||
|
||||
var map, draw, modify, snap, split, vectors;
|
||||
function initMap() {
|
||||
|
||||
map = new OpenLayers.Map('map');
|
||||
var styles = new OpenLayers.StyleMap({
|
||||
"default": new OpenLayers.Style(null, {
|
||||
rules: [
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
"Point": {
|
||||
pointRadius: 5,
|
||||
graphicName: "square",
|
||||
fillColor: "white",
|
||||
fillOpacity: 0.25,
|
||||
strokeWidth: 1,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#333333"
|
||||
},
|
||||
"Line": {
|
||||
strokeWidth: 3,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#666666"
|
||||
}
|
||||
}
|
||||
})
|
||||
]
|
||||
}),
|
||||
"select": new OpenLayers.Style({
|
||||
strokeColor: "#00ccff",
|
||||
strokeWidth: 4
|
||||
}),
|
||||
"temporary": new OpenLayers.Style(null, {
|
||||
rules: [
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
"Point": {
|
||||
pointRadius: 5,
|
||||
graphicName: "square",
|
||||
fillColor: "white",
|
||||
fillOpacity: 0.25,
|
||||
strokeWidth: 1,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#333333"
|
||||
},
|
||||
"Line": {
|
||||
strokeWidth: 3,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#00ccff"
|
||||
}
|
||||
}
|
||||
})
|
||||
]
|
||||
})
|
||||
});
|
||||
|
||||
// create three vector layers
|
||||
vectors = new OpenLayers.Layer.Vector("Lines", {
|
||||
isBaseLayer: true,
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "data/roads.json",
|
||||
format: new OpenLayers.Format.GeoJSON()
|
||||
}),
|
||||
styleMap: styles,
|
||||
maxExtent: new OpenLayers.Bounds(
|
||||
1549471.9221, 6403610.94, 1550001.32545, 6404015.8
|
||||
)
|
||||
});
|
||||
map.addLayer(vectors);
|
||||
|
||||
// configure the snapping agent
|
||||
snap = new OpenLayers.Control.Snapping({layer: vectors});
|
||||
map.addControl(snap);
|
||||
snap.activate();
|
||||
|
||||
// configure split agent
|
||||
split = new OpenLayers.Control.Split({
|
||||
layer: vectors,
|
||||
source: vectors,
|
||||
tolerance: 0.0001,
|
||||
eventListeners: {
|
||||
aftersplit: function(event) {
|
||||
flashFeatures(event.features);
|
||||
}
|
||||
}
|
||||
});
|
||||
map.addControl(split);
|
||||
split.activate();
|
||||
|
||||
// add some editing tools to a panel
|
||||
var panel = new OpenLayers.Control.Panel({
|
||||
displayClass: "olControlEditingToolbar"
|
||||
});
|
||||
draw = new OpenLayers.Control.DrawFeature(
|
||||
vectors, OpenLayers.Handler.Path,
|
||||
{displayClass: "olControlDrawFeaturePoint", title: "Draw Features"}
|
||||
);
|
||||
modify = new OpenLayers.Control.ModifyFeature(
|
||||
vectors, {displayClass: "olControlModifyFeature", title: "Modify Features"}
|
||||
);
|
||||
panel.addControls([
|
||||
new OpenLayers.Control.Navigation({title: "Navigate"}),
|
||||
draw, modify
|
||||
]);
|
||||
map.addControl(panel);
|
||||
|
||||
map.addControl(new OpenLayers.Control.MousePosition());
|
||||
|
||||
map.zoomToMaxExtent();
|
||||
}
|
||||
|
||||
function flashFeatures(features, index) {
|
||||
if(!index) {
|
||||
index = 0;
|
||||
}
|
||||
var current = features[index];
|
||||
if(current && current.layer === vectors) {
|
||||
vectors.drawFeature(features[index], "select");
|
||||
}
|
||||
var prev = features[index-1];
|
||||
if(prev && prev.layer === vectors) {
|
||||
vectors.drawFeature(prev, "default");
|
||||
}
|
||||
++index;
|
||||
if(index <= features.length) {
|
||||
window.setTimeout(function() {flashFeatures(features, index)}, 75);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add behavior to page elements. This basically lets us set snapping
|
||||
* target properties with the checkboxes and text inputs. The checkboxes
|
||||
* toggle the target node, vertex, or edge (boolean) values. The
|
||||
* text inputs set the nodeTolerance, vertexTolerance, or edgeTolerance
|
||||
* property values.
|
||||
*/
|
||||
function initUI() {
|
||||
// add behavior to snap elements
|
||||
var snapCheck = $("snap_toggle");
|
||||
snapCheck.checked = true;
|
||||
snapCheck.onclick = function() {
|
||||
if(snapCheck.checked) {
|
||||
snap.activate();
|
||||
$("snap_options").style.display = "block";
|
||||
} else {
|
||||
snap.deactivate();
|
||||
$("snap_options").style.display = "none";
|
||||
}
|
||||
};
|
||||
var target, type, tog, tol;
|
||||
var types = ["node", "vertex", "edge"];
|
||||
var target = snap.targets[0];
|
||||
for(var j=0; j<types.length; ++j) {
|
||||
type = types[j];
|
||||
tog = $("target_" + type);
|
||||
tog.checked = target[type];
|
||||
tog.onclick = (function(tog, type, target) {
|
||||
return function() {target[type] = tog.checked;}
|
||||
})(tog, type, target);
|
||||
tol = $("target_" + type + "Tolerance");
|
||||
tol.value = target[type + "Tolerance"];
|
||||
tol.onchange = (function(tol, type, target) {
|
||||
return function() {
|
||||
target[type + "Tolerance"] = Number(tol.value) || 0;
|
||||
}
|
||||
})(tol, type, target);
|
||||
}
|
||||
|
||||
// add behavior to split elements
|
||||
var splitCheck = $("split_toggle");
|
||||
splitCheck.checked = true;
|
||||
splitCheck.onclick = function() {
|
||||
if(splitCheck.checked) {
|
||||
split.activate();
|
||||
$("split_options").style.display = "block";
|
||||
} else {
|
||||
split.deactivate();
|
||||
$("split_options").style.display = "none";
|
||||
}
|
||||
};
|
||||
var edgeCheck = $("edge_toggle");
|
||||
edgeCheck.checked = split.edge;
|
||||
edgeCheck.onclick = function() {
|
||||
split.edge = edgeCheck.checked;
|
||||
};
|
||||
|
||||
$("clear").onclick = function() {
|
||||
modify.deactivate();
|
||||
vectors.destroyFeatures();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Snapping & Splitting Example</h1>
|
||||
<div id="shortdesc">A demonstration snapping and splitting while editing vector features.</div>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<br/>
|
||||
<input type="checkbox" id="snap_toggle" />
|
||||
<label for="snap_toggle" class="head">Enable Snapping</label>
|
||||
<table id="snap_options">
|
||||
<tbody>
|
||||
<tr class="head">
|
||||
<td>target</td><td>node</td><td>vertex</td><td>edge</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>roads</td>
|
||||
<td><input type="checkbox" id="target_node" /><input id="target_nodeTolerance" type="text" size="3" /></td>
|
||||
<td><input type="checkbox" id="target_vertex" /><input id="target_vertexTolerance" type="text" size="3" /></td>
|
||||
<td><input type="checkbox" id="target_edge" /><input id="target_edgeTolerance" type="text" size="3" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
<input type="checkbox" id="split_toggle" />
|
||||
<label for="split_toggle" class="head">Enable Splitting</label>
|
||||
<table id="split_options">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><label for="edge_toggle">edges split</label></td>
|
||||
<td><input type="checkbox" id="edge_toggle" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
<button id="clear">clear</button> Clear all features.
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,314 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Snapping</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">
|
||||
.olControlEditingToolbar .olControlModifyFeatureItemInactive {
|
||||
background-position: -1px 0px ;
|
||||
}
|
||||
.olControlEditingToolbar .olControlModifyFeatureItemActive {
|
||||
background-position: -1px -23px ;
|
||||
}
|
||||
table {
|
||||
padding: 1em 0 1em;
|
||||
}
|
||||
td {
|
||||
padding: 0.5em 1em;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
tr.head td {
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/Firebug/firebug.js"></script>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
|
||||
|
||||
function init() {
|
||||
initMap();
|
||||
initUI();
|
||||
}
|
||||
|
||||
var map, draw, modify, snap, point, line, poly;
|
||||
function initMap() {
|
||||
|
||||
map = new OpenLayers.Map('map');
|
||||
var styles = new OpenLayers.StyleMap({
|
||||
"default": new OpenLayers.Style(null, {
|
||||
rules: [
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
"Point": {
|
||||
pointRadius: 5,
|
||||
graphicName: "square",
|
||||
fillColor: "white",
|
||||
fillOpacity: 0.25,
|
||||
strokeWidth: 1,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#3333aa"
|
||||
},
|
||||
"Line": {
|
||||
strokeWidth: 3,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#6666aa"
|
||||
},
|
||||
"Polygon": {
|
||||
strokeWidth: 1,
|
||||
strokeOpacity: 1,
|
||||
fillColor: "#9999aa",
|
||||
strokeColor: "#6666aa"
|
||||
}
|
||||
}
|
||||
})
|
||||
]
|
||||
}),
|
||||
"select": new OpenLayers.Style(null, {
|
||||
rules: [
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
"Point": {
|
||||
pointRadius: 5,
|
||||
graphicName: "square",
|
||||
fillColor: "white",
|
||||
fillOpacity: 0.25,
|
||||
strokeWidth: 2,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#0000ff"
|
||||
},
|
||||
"Line": {
|
||||
strokeWidth: 3,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#0000ff"
|
||||
},
|
||||
"Polygon": {
|
||||
strokeWidth: 2,
|
||||
strokeOpacity: 1,
|
||||
fillColor: "#0000ff",
|
||||
strokeColor: "#0000ff"
|
||||
}
|
||||
}
|
||||
})
|
||||
]
|
||||
}),
|
||||
"temporary": new OpenLayers.Style(null, {
|
||||
rules: [
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
"Point": {
|
||||
graphicName: "square",
|
||||
pointRadius: 5,
|
||||
fillColor: "white",
|
||||
fillOpacity: 0.25,
|
||||
strokeWidth: 2,
|
||||
strokeColor: "#0000ff"
|
||||
},
|
||||
"Line": {
|
||||
strokeWidth: 3,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#0000ff"
|
||||
},
|
||||
"Polygon": {
|
||||
strokeWidth: 2,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#0000ff",
|
||||
fillColor: "#0000ff"
|
||||
}
|
||||
}
|
||||
})
|
||||
]
|
||||
})
|
||||
});
|
||||
|
||||
// create three vector layers
|
||||
poly = new OpenLayers.Layer.Vector("polygons", {
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "data/poly.json",
|
||||
format: new OpenLayers.Format.GeoJSON()
|
||||
}),
|
||||
styleMap: styles,
|
||||
isBaseLayer: true
|
||||
});
|
||||
line = new OpenLayers.Layer.Vector("lines", {
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "data/line.json",
|
||||
format: new OpenLayers.Format.GeoJSON()
|
||||
}),
|
||||
styleMap: styles
|
||||
});
|
||||
point = new OpenLayers.Layer.Vector("points", {
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "data/point.json",
|
||||
format: new OpenLayers.Format.GeoJSON()
|
||||
}),
|
||||
styleMap: styles
|
||||
});
|
||||
map.addLayers([poly, line, point]);
|
||||
|
||||
// configure the snapping agent
|
||||
snap = new OpenLayers.Control.Snapping({
|
||||
layer: poly,
|
||||
targets: [point, line, poly],
|
||||
greedy: false
|
||||
});
|
||||
snap.activate();
|
||||
|
||||
// add some editing tools to a panel
|
||||
var panel = new OpenLayers.Control.Panel({
|
||||
displayClass: "olControlEditingToolbar"
|
||||
});
|
||||
draw = new OpenLayers.Control.DrawFeature(
|
||||
poly, OpenLayers.Handler.Polygon,
|
||||
{displayClass: "olControlDrawFeaturePoint", title: "Draw Features"}
|
||||
);
|
||||
modify = new OpenLayers.Control.ModifyFeature(
|
||||
poly, {displayClass: "olControlModifyFeature", title: "Modify Features"}
|
||||
);
|
||||
panel.addControls([
|
||||
new OpenLayers.Control.Navigation({title: "Navigate"}),
|
||||
draw, modify
|
||||
]);
|
||||
map.addControl(panel);
|
||||
|
||||
// give the map a location
|
||||
map.setCenter(new OpenLayers.LonLat(0, 0), 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add behavior to page elements. This basically lets us set snapping
|
||||
* target properties with the checkboxes and text inputs. The checkboxes
|
||||
* toggle the target node, vertex, or edge (boolean) values. The
|
||||
* text inputs set the nodeTolerance, vertexTolerance, or edgeTolerance
|
||||
* property values.
|
||||
*/
|
||||
function initUI() {
|
||||
var check = $("snapping");
|
||||
check.checked = true;
|
||||
check.onclick = function() {
|
||||
if(check.checked) {
|
||||
snap.activate();
|
||||
} else {
|
||||
snap.deactivate();
|
||||
}
|
||||
};
|
||||
|
||||
var sel = $("editable");
|
||||
sel.value = "poly";
|
||||
sel.onchange = function() {
|
||||
updateEditable(sel.value);
|
||||
}
|
||||
|
||||
var target, type, tog, tol;
|
||||
var types = ["node", "vertex", "edge"];
|
||||
for(var i=0; i<snap.targets.length; ++i) {
|
||||
target = snap.targets[i];
|
||||
for(var j=0; j<types.length; ++j) {
|
||||
type = types[j];
|
||||
tog = $(i + "_" + type);
|
||||
tog.checked = target[type];
|
||||
tog.onclick = (function(tog, type, target) {
|
||||
return function() {target[type] = tog.checked;}
|
||||
})(tog, type, target);
|
||||
tol = $(i + "_" + type + "Tolerance");
|
||||
tol.value = target[type + "Tolerance"];
|
||||
tol.onchange = (function(tol, type, target) {
|
||||
return function() {
|
||||
target[type + "Tolerance"] = Number(tol.value) || 0;
|
||||
}
|
||||
})(tol, type, target);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// this function allows the editable layer to be changed
|
||||
// for the snapping control, this amounts to calling setLayer
|
||||
function updateEditable(name) {
|
||||
|
||||
layer = window[name];
|
||||
|
||||
// update the editable layer for the snapping control (nice)
|
||||
snap.setLayer(layer);
|
||||
|
||||
// update the editable layer for the modify control (ugly)
|
||||
var modActive = modify.active;
|
||||
if(modActive) {
|
||||
modify.deactivate();
|
||||
}
|
||||
modify.layer = layer;
|
||||
modify.selectControl.layer = layer;
|
||||
modify.selectControl.handlers.feature.layer = layer;
|
||||
modify.dragControl.layer = layer;
|
||||
modify.dragControl.handlers.drag.layer = layer;
|
||||
modify.dragControl.handlers.feature.layer = layer;
|
||||
if(modActive) {
|
||||
modify.activate();
|
||||
}
|
||||
|
||||
// update the editable layer for the draw control (very ugly)
|
||||
var drawActive = draw.active;
|
||||
if(drawActive) {
|
||||
draw.deactivate();
|
||||
}
|
||||
draw.layer = layer;
|
||||
var handler = ({
|
||||
point: OpenLayers.Handler.Point,
|
||||
line: OpenLayers.Handler.Path,
|
||||
poly: OpenLayers.Handler.Polygon
|
||||
})[name];
|
||||
draw.handler = new handler(draw, draw.callbacks, draw.handlerOptions);
|
||||
if(drawActive) {
|
||||
draw.activate();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Snapping Example</h1>
|
||||
<div id="shortdesc">A demonstration snapping while editing vector features.</div>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<br/>
|
||||
<label for="editable">Editable Layer:</label>
|
||||
<select id="editable" name="editable">
|
||||
<option value="poly">polygons</option>
|
||||
<option value="line">lines</option>
|
||||
<option value="point">points</option>
|
||||
</select>
|
||||
<label for="snapping">Enable Snapping</label>
|
||||
<input type="checkbox" name="snapping" id="snapping" checked="checked" />
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="head">
|
||||
<td>targets</td><td>node</td><td>vertex</td><td>edge</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>points</td>
|
||||
<td><input type="checkbox" id="0_node" /><input id="0_nodeTolerance" type="text" size="3" /></td>
|
||||
<td><input type="checkbox" id="0_vertex" /><input id="0_vertexTolerance" type="text" size="3" /></td>
|
||||
<td><input type="checkbox" id="0_edge" /><input id="0_edgeTolerance" type="text" size="3" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>lines</td>
|
||||
<td><input type="checkbox" id="1_node" /><input id="1_nodeTolerance" type="text" size="3" /></td>
|
||||
<td><input type="checkbox" id="1_vertex" /><input id="1_vertexTolerance" type="text" size="3" /></td>
|
||||
<td><input type="checkbox" id="1_edge" /><input id="1_edgeTolerance" type="text" size="3" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>polygons</td>
|
||||
<td><input type="checkbox" id="2_node" /><input id="2_nodeTolerance" type="text" size="3" /></td>
|
||||
<td><input type="checkbox" id="2_vertex" /><input id="2_vertexTolerance" type="text" size="3" /></td>
|
||||
<td><input type="checkbox" id="2_edge" /><input id="2_edgeTolerance" type="text" size="3" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Though all snapping types are shown here for all target layers, not all are sensible.
|
||||
Points don't have edges, for example.</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Spherical Mercator</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">
|
||||
@@ -79,20 +78,43 @@
|
||||
);
|
||||
|
||||
// create OSM layer
|
||||
var mapnik = new OpenLayers.Layer.OSM();
|
||||
// create OAM layer
|
||||
var oam = new OpenLayers.Layer.XYZ(
|
||||
"OpenAerialMap",
|
||||
"http://tile.openaerialmap.org/tiles/1.0.0/openaerialmap-900913/${z}/${x}/${y}.png",
|
||||
var mapnik = new OpenLayers.Layer.TMS(
|
||||
"OpenStreetMap (Mapnik)",
|
||||
"http://tile.openstreetmap.org/",
|
||||
{
|
||||
sphericalMercator: true
|
||||
type: 'png', getURL: osm_getTileURL,
|
||||
displayOutsideMaxExtent: true,
|
||||
attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
|
||||
}
|
||||
);
|
||||
// create OAM layer
|
||||
var oam = new OpenLayers.Layer.TMS(
|
||||
"OpenAerialMap",
|
||||
"http://tile.openaerialmap.org/tiles/1.0.0/openaerialmap-900913/",
|
||||
{
|
||||
type: 'png', getURL: osm_getTileURL
|
||||
}
|
||||
);
|
||||
|
||||
// create OSM layer
|
||||
var osmarender = new OpenLayers.Layer.OSM(
|
||||
var mapnik = new OpenLayers.Layer.TMS(
|
||||
"OpenStreetMap (Mapnik)",
|
||||
"http://a.tile.openstreetmap.org/",
|
||||
{
|
||||
type: 'png', getURL: osm_getTileURL,
|
||||
displayOutsideMaxExtent: true,
|
||||
attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
|
||||
}
|
||||
);
|
||||
// create OSM layer
|
||||
var osmarender = new OpenLayers.Layer.TMS(
|
||||
"OpenStreetMap (Tiles@Home)",
|
||||
"http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
|
||||
"http://tah.openstreetmap.org/Tiles/tile/",
|
||||
{
|
||||
type: 'png', getURL: osm_getTileURL,
|
||||
displayOutsideMaxExtent: true,
|
||||
attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -120,6 +142,21 @@
|
||||
if (!map.getCenter()) {map.zoomToMaxExtent()}
|
||||
}
|
||||
|
||||
function osm_getTileURL(bounds) {
|
||||
var res = this.map.getResolution();
|
||||
var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
|
||||
var y = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
|
||||
var z = this.map.getZoom();
|
||||
var limit = Math.pow(2, z);
|
||||
|
||||
if (y < 0 || y >= limit) {
|
||||
return OpenLayers.Util.getImagesLocation() + "404.png";
|
||||
} else {
|
||||
x = ((x % limit) + limit) % limit;
|
||||
return this.url + z + "/" + x + "/" + y + "." + this.type;
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Split Feature Example</title>
|
||||
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map, vectors, split;
|
||||
OpenLayers.Util.onImageLoadErrorColor = "transparent";
|
||||
function init(){
|
||||
map = new OpenLayers.Map('map');
|
||||
|
||||
// give the features some style
|
||||
var styles = new OpenLayers.StyleMap({
|
||||
"default": {
|
||||
strokeWidth: 2
|
||||
},
|
||||
"select": {
|
||||
strokeColor: "#0099cc",
|
||||
strokeWidth: 4
|
||||
}
|
||||
});
|
||||
|
||||
// add rules from the above lookup table
|
||||
styles.addUniqueValueRules("default", "RP_TYPE", {
|
||||
10: {strokeColor: "#000000", strokeWidth: 2},
|
||||
12: {strokeColor: "#222222", strokeWidth: 2},
|
||||
14: {strokeColor: "#444444", strokeWidth: 2},
|
||||
16: {strokeColor: "#666666", strokeWidth: 2},
|
||||
18: {strokeColor: "#888888", strokeWidth: 2},
|
||||
19: {strokeColor: "#666666", strokeWidth: 1}
|
||||
});
|
||||
|
||||
vectors = new OpenLayers.Layer.Vector("Lines", {
|
||||
isBaseLayer: true,
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "data/roads.json",
|
||||
format: new OpenLayers.Format.GeoJSON()
|
||||
}),
|
||||
styleMap: styles,
|
||||
maxExtent: new OpenLayers.Bounds(
|
||||
1549471.9221, 6403610.94, 1550001.32545, 6404015.8
|
||||
)
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
map.addLayer(vectors);
|
||||
|
||||
map.addControl(new OpenLayers.Control.MousePosition());
|
||||
|
||||
var split = new OpenLayers.Control.Split({
|
||||
layer: vectors,
|
||||
eventListeners: {
|
||||
aftersplit: function(event) {
|
||||
flashFeatures(event.features);
|
||||
}
|
||||
}
|
||||
});
|
||||
map.addControl(split);
|
||||
split.activate();
|
||||
map.zoomToMaxExtent();
|
||||
|
||||
}
|
||||
|
||||
function flashFeatures(features, index) {
|
||||
if(!index) {
|
||||
index = 0;
|
||||
}
|
||||
var current = features[index];
|
||||
if(current && current.layer === vectors) {
|
||||
vectors.drawFeature(features[index], "select");
|
||||
}
|
||||
var prev = features[index-1];
|
||||
if(prev && prev.layer === vectors) {
|
||||
vectors.drawFeature(prev, "default");
|
||||
}
|
||||
++index;
|
||||
if(index <= features.length) {
|
||||
window.setTimeout(function() {flashFeatures(features, index)}, 100);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OpenLayers Split Feature Example</h1>
|
||||
<p id="shortdesc">
|
||||
Demonstrates splitting of line features.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
The split control can be configured to listen for edits on any vector layer
|
||||
or it can allow for creation of temporary sketch features. Modified or
|
||||
newly drawn features will be used to split existing features on any target
|
||||
layer. This example shows the split control configured to use temporary
|
||||
sketches for the split.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -13,12 +13,11 @@
|
||||
map = new OpenLayers.Map('map', {
|
||||
restrictedExtent: new OpenLayers.Bounds(-180, -90, 180, 90)
|
||||
});
|
||||
var base = new OpenLayers.Layer.WMS("Imagery",
|
||||
["http://t1.hypercube.telascience.org/tiles?",
|
||||
"http://t2.hypercube.telascience.org/tiles?",
|
||||
"http://t3.hypercube.telascience.org/tiles?",
|
||||
"http://t4.hypercube.telascience.org/tiles?"],
|
||||
{layers: 'landsat7'}
|
||||
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
|
||||
["http://t3.labs.metacarta.com/wms-c/Basic.py",
|
||||
"http://t2.labs.metacarta.com/wms-c/Basic.py",
|
||||
"http://t1.labs.metacarta.com/wms-c/Basic.py"],
|
||||
{layers: 'satellite'}
|
||||
);
|
||||
|
||||
var style = new OpenLayers.Style({
|
||||
|
||||
@@ -1,145 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers Cluster Strategy Threshold</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">
|
||||
ul {
|
||||
list-style: none;
|
||||
padding-left: 2em;
|
||||
}
|
||||
#reset {
|
||||
margin-left: 2em;
|
||||
}
|
||||
</style>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
// create a semi-random grid of features to be clustered
|
||||
var dx = 3;
|
||||
var dy = 3;
|
||||
var px, py;
|
||||
var features = [];
|
||||
for(var x=-45; x<=45; x+=dx) {
|
||||
for(var y=-22.5; y<=22.5; y+=dy) {
|
||||
px = x + (2 * dx * (Math.random() - 0.5));
|
||||
py = y + (2 * dy * (Math.random() - 0.5));
|
||||
features.push(new OpenLayers.Feature.Vector(
|
||||
new OpenLayers.Geometry.Point(px, py), {x: px, y: py}
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
var map, strategy, clusters;
|
||||
function init() {
|
||||
map = new OpenLayers.Map('map');
|
||||
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
|
||||
["http://t3.labs.metacarta.com/wms-c/Basic.py",
|
||||
"http://t2.labs.metacarta.com/wms-c/Basic.py",
|
||||
"http://t1.labs.metacarta.com/wms-c/Basic.py"],
|
||||
{layers: 'satellite'}
|
||||
);
|
||||
|
||||
var style = new OpenLayers.Style({
|
||||
pointRadius: "${radius}",
|
||||
fillColor: "#ffcc66",
|
||||
fillOpacity: 0.8,
|
||||
strokeColor: "#cc6633",
|
||||
strokeWidth: "${width}",
|
||||
strokeOpacity: 0.8
|
||||
}, {
|
||||
context: {
|
||||
width: function(feature) {
|
||||
return (feature.cluster) ? 2 : 1;
|
||||
},
|
||||
radius: function(feature) {
|
||||
var pix = 2;
|
||||
if(feature.cluster) {
|
||||
pix = Math.min(feature.attributes.count, 7) + 2;
|
||||
}
|
||||
return pix;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
strategy = new OpenLayers.Strategy.Cluster();
|
||||
|
||||
clusters = new OpenLayers.Layer.Vector("Clusters", {
|
||||
strategies: [strategy],
|
||||
styleMap: new OpenLayers.StyleMap({
|
||||
"default": style,
|
||||
"select": {
|
||||
fillColor: "#8aeeef",
|
||||
strokeColor: "#32a8a9"
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
var select = new OpenLayers.Control.SelectFeature(
|
||||
clusters, {hover: true}
|
||||
);
|
||||
map.addControl(select);
|
||||
select.activate();
|
||||
clusters.events.on({"featureselected": display});
|
||||
|
||||
map.addLayers([base, clusters]);
|
||||
map.setCenter(new OpenLayers.LonLat(0, 0), 2);
|
||||
|
||||
reset();
|
||||
$("reset").onclick = reset;
|
||||
|
||||
}
|
||||
|
||||
function reset() {
|
||||
var distance = parseInt($("distance").value);
|
||||
var threshold = parseInt($("threshold").value);
|
||||
strategy.distance = distance || strategy.distance;
|
||||
strategy.threshold = threshold || strategy.threshold;
|
||||
$("distance").value = strategy.distance;
|
||||
$("threshold").value = strategy.threshold || "null";
|
||||
clusters.removeFeatures(clusters.features);
|
||||
clusters.addFeatures(features);
|
||||
}
|
||||
|
||||
function display(event) {
|
||||
var f = event.feature;
|
||||
var el = $("output");
|
||||
if(f.cluster) {
|
||||
el.innerHTML = "cluster of " + f.attributes.count;
|
||||
} else {
|
||||
el.innerHTML = "unclustered " + f.geometry;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Cluster Strategy Threshold</h1>
|
||||
<p id="shortdesc">
|
||||
Demonstrates the use of the cluster strategy threshold property.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
<p>The Cluster strategy lets you display points representing clusters
|
||||
of features within some pixel distance. You can control the behavior
|
||||
of the cluster strategy by setting its distance and threshold properties.
|
||||
The distance determines the search radius (in pixels) for features to
|
||||
cluster. The threshold determines the minimum number of features to
|
||||
be considered a cluster.</p>
|
||||
</div>
|
||||
<br />
|
||||
<p>Cluster details: <span id="output">hover over a feature to see details.</span></p>
|
||||
<ul>
|
||||
<li>
|
||||
<input id="distance" name="distance" type="text" value="" size="3" />
|
||||
<label for="distance">distance</label>
|
||||
</li>
|
||||
<li>
|
||||
<input id="threshold" name="threshold" type="text" value="" size="3" />
|
||||
<label for="threshold">threshold</label>
|
||||
</li>
|
||||
</ul>
|
||||
<button id="reset">recluster</button>
|
||||
</body>
|
||||
</html>
|
||||
@@ -74,12 +74,11 @@
|
||||
map = new OpenLayers.Map('map', {
|
||||
restrictedExtent: new OpenLayers.Bounds(-180, -90, 180, 90)
|
||||
});
|
||||
var base = new OpenLayers.Layer.WMS("Imagery",
|
||||
["http://t1.hypercube.telascience.org/tiles?",
|
||||
"http://t2.hypercube.telascience.org/tiles?",
|
||||
"http://t3.hypercube.telascience.org/tiles?",
|
||||
"http://t4.hypercube.telascience.org/tiles?"],
|
||||
{layers: 'landsat7'}
|
||||
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
|
||||
["http://t3.labs.metacarta.com/wms-c/Basic.py",
|
||||
"http://t2.labs.metacarta.com/wms-c/Basic.py",
|
||||
"http://t1.labs.metacarta.com/wms-c/Basic.py"],
|
||||
{layers: 'satellite'}
|
||||
);
|
||||
|
||||
var style = new OpenLayers.Style({
|
||||
|
||||
@@ -13,12 +13,11 @@
|
||||
map = new OpenLayers.Map('map', {
|
||||
restrictedExtent: new OpenLayers.Bounds(-180, -90, 180, 90)
|
||||
});
|
||||
var base = new OpenLayers.Layer.WMS("Imagery",
|
||||
["http://t1.hypercube.telascience.org/tiles?",
|
||||
"http://t2.hypercube.telascience.org/tiles?",
|
||||
"http://t3.hypercube.telascience.org/tiles?",
|
||||
"http://t4.hypercube.telascience.org/tiles?"],
|
||||
{layers: 'landsat7'}
|
||||
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
|
||||
["http://t3.labs.metacarta.com/wms-c/Basic.py",
|
||||
"http://t2.labs.metacarta.com/wms-c/Basic.py",
|
||||
"http://t1.labs.metacarta.com/wms-c/Basic.py"],
|
||||
{layers: 'satellite'}
|
||||
);
|
||||
|
||||
var style = new OpenLayers.Style({
|
||||
|
||||
@@ -68,13 +68,7 @@
|
||||
<div id="tags"></div>
|
||||
|
||||
<p id="shortdesc">
|
||||
Shows how to use a StyleMap to style features with rule based styling.
|
||||
A style map references on or more OpenLayers.Style objects. These
|
||||
OpenLayers.Style objects are collections of OpenLayers.Rule objects
|
||||
that determine how features are styled. An OpenLayers.Rule object
|
||||
combines an OpenLayers.Filter object with a symbolizer. A filter is used
|
||||
to determine whether a rule applies for a given feature, and a symbolizer
|
||||
is used to draw the feature if the rule applies.
|
||||
Shows how to use a StyleMap.
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
@@ -84,10 +84,7 @@
|
||||
<div id="tags"></div>
|
||||
|
||||
<p id="shortdesc">
|
||||
To style features with a custom function that evaluates each feature, use
|
||||
the context option of an OpenLayers.Style object. If the context object
|
||||
contains a function and this function is referenced in a symbolizer, the
|
||||
function will be called with the feature as an argument..
|
||||
Shows how to create a feature styles.
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
@@ -75,10 +75,8 @@
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Rotation Style Example</h1>
|
||||
<p id="shortdesc">To style point features with rotation, use the rotation
|
||||
property of the symbolizer. The center of the rotation is the point of the
|
||||
image specified by graphicXOffset and graphicYOffset.</p>
|
||||
<h1 id="title">Rotation Styles Example</h1>
|
||||
<p id="shortdesc">Vector point feature symbolizers can have a rotation property. The center of the rotation is the point of the image specified by graphicXOffset and graphicYOffset.</p>
|
||||
<div id="map"></div>
|
||||
<div id="docs"/>
|
||||
</body>
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Sundials on a Spherical Mercator Map</title>
|
||||
<script src='http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../theme/default/framedCloud.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
|
||||
<style type="text/css">
|
||||
@@ -19,7 +18,7 @@
|
||||
var lon = 5;
|
||||
var lat = 40;
|
||||
var zoom = 5;
|
||||
var map, select;
|
||||
var map, layer;
|
||||
|
||||
function init(){
|
||||
var options = {
|
||||
@@ -40,61 +39,40 @@
|
||||
attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
|
||||
}
|
||||
);
|
||||
var gmap = new OpenLayers.Layer.Google("Google", {sphericalMercator:true});
|
||||
var sundials = new OpenLayers.Layer.Vector("KML", {
|
||||
map.addLayer(mapnik);
|
||||
map.addLayer(new OpenLayers.Layer.GML("KML", "kml/sundials.kml",
|
||||
{
|
||||
format: OpenLayers.Format.KML,
|
||||
projection: map.displayProjection,
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "kml/sundials.kml",
|
||||
format: new OpenLayers.Format.KML({
|
||||
extractStyles: true,
|
||||
extractAttributes: true
|
||||
})
|
||||
})
|
||||
});
|
||||
formatOptions: {
|
||||
extractStyles: true,
|
||||
extractAttributes: true
|
||||
}
|
||||
}));
|
||||
selectControl = new OpenLayers.Control.SelectFeature(map.layers[1],
|
||||
{onSelect: onFeatureSelect, onUnselect: onFeatureUnselect});
|
||||
|
||||
map.addLayers([mapnik, gmap, sundials]);
|
||||
|
||||
select = new OpenLayers.Control.SelectFeature(sundials);
|
||||
|
||||
sundials.events.on({
|
||||
"featureselected": onFeatureSelect,
|
||||
"featureunselected": onFeatureUnselect
|
||||
});
|
||||
|
||||
map.addControl(select);
|
||||
select.activate();
|
||||
|
||||
map.addControl(new OpenLayers.Control.LayerSwitcher());
|
||||
|
||||
map.zoomToExtent(
|
||||
new OpenLayers.Bounds(
|
||||
68.774414, 11.381836, 123.662109, 34.628906
|
||||
).transform(map.displayProjection, map.projection)
|
||||
);
|
||||
map.addControl(selectControl);
|
||||
selectControl.activate();
|
||||
map.zoomToExtent(new OpenLayers.Bounds(68.774414,11.381836,123.662109,34.628906).transform(map.displayProjection, map.projection));
|
||||
}
|
||||
function onPopupClose(evt) {
|
||||
select.unselectAll();
|
||||
selectControl.unselect(selectedFeature);
|
||||
}
|
||||
function onFeatureSelect(event) {
|
||||
var feature = event.feature;
|
||||
var selectedFeature = feature;
|
||||
var popup = new OpenLayers.Popup.FramedCloud("chicken",
|
||||
feature.geometry.getBounds().getCenterLonLat(),
|
||||
new OpenLayers.Size(100,100),
|
||||
"<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description,
|
||||
null, true, onPopupClose
|
||||
);
|
||||
function onFeatureSelect(feature) {
|
||||
selectedFeature = feature;
|
||||
popup = new OpenLayers.Popup.FramedCloud("chicken",
|
||||
feature.geometry.getBounds().getCenterLonLat(),
|
||||
new OpenLayers.Size(100,100),
|
||||
"<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description,
|
||||
null, true, onPopupClose);
|
||||
feature.popup = popup;
|
||||
map.addPopup(popup);
|
||||
}
|
||||
function onFeatureUnselect(event) {
|
||||
var feature = event.feature;
|
||||
if(feature.popup) {
|
||||
map.removePopup(feature.popup);
|
||||
feature.popup.destroy();
|
||||
delete feature.popup;
|
||||
}
|
||||
function onFeatureUnselect(feature) {
|
||||
map.removePopup(feature.popup);
|
||||
feature.popup.destroy();
|
||||
feature.popup = null;
|
||||
}
|
||||
function osm_getTileURL(bounds) {
|
||||
var res = this.map.getResolution();
|
||||
@@ -113,12 +91,12 @@
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OSM + Google Maps + KML Reprojection</h1>
|
||||
<h1 id="title">KML Layer Example</h1>
|
||||
|
||||
<div id="tags"></div>
|
||||
|
||||
<p id="shortdesc">
|
||||
Demonstrates loading and displaying a KML file on top of OpenStreetMap (OSM) and Google Maps data. Loads data from a KML file of sundials.
|
||||
Demonstrates loading and displaying a KML file on top of OpenStreetMap (OSM) data.
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
@@ -1,6 +1,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../theme/default/framedCloud.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
|
||||
<style type="text/css">
|
||||
@@ -17,47 +18,33 @@
|
||||
var lon = 5;
|
||||
var lat = 40;
|
||||
var zoom = 5;
|
||||
var map, select;
|
||||
var map, layer;
|
||||
|
||||
function init(){
|
||||
map = new OpenLayers.Map('map');
|
||||
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
|
||||
map.addLayer(layer);
|
||||
map.addLayer(new OpenLayers.Layer.GML("KML", "kml/sundials.kml",
|
||||
{
|
||||
format: OpenLayers.Format.KML,
|
||||
formatOptions: {
|
||||
extractStyles: true,
|
||||
extractAttributes: true
|
||||
}
|
||||
}));
|
||||
selectControl = new OpenLayers.Control.SelectFeature(map.layers[1],
|
||||
{onSelect: onFeatureSelect, onUnselect: onFeatureUnselect});
|
||||
|
||||
var wms = new OpenLayers.Layer.WMS(
|
||||
"OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0",
|
||||
{layers: 'basic'}
|
||||
);
|
||||
|
||||
var sundials = new OpenLayers.Layer.Vector("KML", {
|
||||
projection: map.displayProjection,
|
||||
strategies: [new OpenLayers.Strategy.Fixed()],
|
||||
protocol: new OpenLayers.Protocol.HTTP({
|
||||
url: "kml/sundials.kml",
|
||||
format: new OpenLayers.Format.KML({
|
||||
extractStyles: true,
|
||||
extractAttributes: true
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
map.addLayers([wms, sundials]);
|
||||
|
||||
select = new OpenLayers.Control.SelectFeature(sundials);
|
||||
|
||||
sundials.events.on({
|
||||
"featureselected": onFeatureSelect,
|
||||
"featureunselected": onFeatureUnselect
|
||||
});
|
||||
|
||||
map.addControl(select);
|
||||
select.activate();
|
||||
map.addControl(selectControl);
|
||||
selectControl.activate();
|
||||
map.zoomToExtent(new OpenLayers.Bounds(68.774414,11.381836,123.662109,34.628906));
|
||||
}
|
||||
function onPopupClose(evt) {
|
||||
select.unselectAll();
|
||||
selectControl.unselect(selectedFeature);
|
||||
}
|
||||
function onFeatureSelect(event) {
|
||||
var feature = event.feature;
|
||||
function onFeatureSelect(feature) {
|
||||
selectedFeature = feature;
|
||||
// Since KML is user-generated, do naive protection against
|
||||
// Javascript.
|
||||
var content = "<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description;
|
||||
@@ -72,13 +59,10 @@
|
||||
feature.popup = popup;
|
||||
map.addPopup(popup);
|
||||
}
|
||||
function onFeatureUnselect(event) {
|
||||
var feature = event.feature;
|
||||
if(feature.popup) {
|
||||
map.removePopup(feature.popup);
|
||||
feature.popup.destroy();
|
||||
delete feature.popup;
|
||||
}
|
||||
function onFeatureUnselect(feature) {
|
||||
map.removePopup(feature.popup);
|
||||
feature.popup.destroy();
|
||||
feature.popup = null;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers Fill, Stroke, and Graphic Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
var map;
|
||||
|
||||
function init() {
|
||||
map = new OpenLayers.Map('map');
|
||||
|
||||
var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
|
||||
map.addLayer(layer);
|
||||
|
||||
// allow testing of specific renderers via "?renderer=Canvas", etc
|
||||
var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
|
||||
renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;
|
||||
|
||||
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry", {
|
||||
styleMap: new OpenLayers.StyleMap({
|
||||
'default': new OpenLayers.Style(null, {
|
||||
rules: [
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
graphic: false,
|
||||
label: "Label for invisible point"
|
||||
},
|
||||
filter: new OpenLayers.Filter.Comparison({
|
||||
type: "==",
|
||||
property: "topic",
|
||||
value: "point_invisible"
|
||||
})
|
||||
}),
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
stroke: true,
|
||||
fill: true,
|
||||
label: "Polygon with stroke and fill defaults"
|
||||
},
|
||||
filter: new OpenLayers.Filter.Comparison({
|
||||
type: "==",
|
||||
property: "topic",
|
||||
value: "polygon_defaults"
|
||||
})
|
||||
}),
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
stroke: true,
|
||||
fill: false,
|
||||
label: "Point without fill",
|
||||
labelAlign: "rb"
|
||||
},
|
||||
filter: new OpenLayers.Filter.Comparison({
|
||||
type: "==",
|
||||
property: "topic",
|
||||
value: "point_nofill"
|
||||
})
|
||||
})
|
||||
]
|
||||
})
|
||||
}),
|
||||
renderers: renderer
|
||||
});
|
||||
|
||||
// create a point feature
|
||||
var point = new OpenLayers.Geometry.Point(-111.04, 45.68);
|
||||
var pointFeature = new OpenLayers.Feature.Vector(point);
|
||||
pointFeature.attributes = {
|
||||
topic: "point_invisible"
|
||||
};
|
||||
|
||||
// create a polygon feature from a linear ring of points
|
||||
var pointList = [];
|
||||
for(var p=0; p<6; ++p) {
|
||||
var a = p * (2 * Math.PI) / 7;
|
||||
var r = Math.random(1) + 1;
|
||||
var newPoint = new OpenLayers.Geometry.Point(point.x + 5 + (r * Math.cos(a)),
|
||||
point.y + 5 + (r * Math.sin(a)));
|
||||
pointList.push(newPoint);
|
||||
}
|
||||
pointList.push(pointList[0]);
|
||||
|
||||
var linearRing = new OpenLayers.Geometry.LinearRing(pointList);
|
||||
var polygonFeature = new OpenLayers.Feature.Vector(
|
||||
new OpenLayers.Geometry.Polygon([linearRing]));
|
||||
polygonFeature.attributes = {
|
||||
topic: "polygon_defaults"
|
||||
};
|
||||
|
||||
multiFeature = new OpenLayers.Feature.Vector(
|
||||
new OpenLayers.Geometry.Collection([
|
||||
new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(-105,40),
|
||||
new OpenLayers.Geometry.Point(-95,45)
|
||||
]),
|
||||
new OpenLayers.Geometry.Point(-105, 40)
|
||||
]),
|
||||
{
|
||||
topic: "point_nofill"
|
||||
});
|
||||
|
||||
map.addLayer(vectorLayer);
|
||||
vectorLayer.drawFeature(multiFeature);
|
||||
map.setCenter(new OpenLayers.LonLat(point.x, point.y), 4);
|
||||
vectorLayer.addFeatures([pointFeature, polygonFeature, multiFeature]);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OpenLayers Example</h1>
|
||||
<div id="tags"></div>
|
||||
<p id="shortdesc">
|
||||
Demonstrate fill, stroke, and graphic property of symbolizers.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
This example shows how to use symbolizers with defaults for stroke, fill, and graphic.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,70 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers Teleporter Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
#wrapper {
|
||||
position: relative;
|
||||
}
|
||||
.spot1 {
|
||||
width: 250px;
|
||||
}
|
||||
.spot2 {
|
||||
width: 300px;
|
||||
position: absolute;
|
||||
left: 300px;
|
||||
top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var map, layer, spot=1;
|
||||
function init(){
|
||||
map = new OpenLayers.Map({
|
||||
div: "spot1"
|
||||
});
|
||||
map.addControl(new OpenLayers.Control.OverviewMap());
|
||||
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0",
|
||||
{layers: 'basic'} );
|
||||
map.addLayer(layer);
|
||||
map.zoomTo(2);
|
||||
}
|
||||
|
||||
function teleport() {
|
||||
if (spot == 1) {
|
||||
spot = 2;
|
||||
} else {
|
||||
spot = 1;
|
||||
}
|
||||
map.render("spot" + spot);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Map "Teleportation" and Rendering</h1>
|
||||
|
||||
<div id="tags"></div>
|
||||
|
||||
<p id="shortdesc">Call the map's render method to change its container.</p>
|
||||
|
||||
<div id="wrapper">
|
||||
<div id="spot1" class="smallmap spot1"></div>
|
||||
<div id="spot2" class="smallmap spot2"></div>
|
||||
</div>
|
||||
|
||||
<input type="button" onclick="teleport()" value="Teleport!"></input>
|
||||
|
||||
<div id="docs">
|
||||
This example demonstrates how a map can be rendered initially in one
|
||||
container and then moved to a new container. At any point after map
|
||||
construction, the map's render method can be called with the id of
|
||||
an empty container, moving the map to the new container.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -7,9 +7,7 @@
|
||||
<script type="text/javascript">
|
||||
var map, layer;
|
||||
function init(){
|
||||
map = new OpenLayers.Map( $('map'), {
|
||||
resolutions: [0.087890625, 0.0439453125, 0.02197265625, 0.010986328125]
|
||||
});
|
||||
map = new OpenLayers.Map( $('map'));
|
||||
layer = new OpenLayers.Layer.TileCache("TileCache Layer",
|
||||
["http://c0.labs.metacarta.com/wms-c/cache/",
|
||||
"http://c1.labs.metacarta.com/wms-c/cache/",
|
||||
@@ -18,11 +16,8 @@
|
||||
"http://c4.labs.metacarta.com/wms-c/cache/"],
|
||||
"basic",
|
||||
{
|
||||
serverResolutions: [0.703125, 0.3515625, 0.17578125, 0.087890625,
|
||||
0.0439453125, 0.02197265625, 0.010986328125,
|
||||
0.0054931640625, 0.00274658203125, 0.001373291015625,
|
||||
0.0006866455078125, 0.00034332275390625, 0.000171661376953125,
|
||||
0.0000858306884765625, 0.00004291534423828125, 0.000021457672119140625]
|
||||
'format': 'image/png',
|
||||
maxResolution: 180/256 // same as the TileCache config
|
||||
}
|
||||
);
|
||||
map.addLayer(layer);
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers Virtual Earth Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src='http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1'></script>
|
||||
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var map, velayer, layer;
|
||||
|
||||
function init(){
|
||||
map = new OpenLayers.Map('map', {
|
||||
controls: [new OpenLayers.Control.Navigation()],
|
||||
panMethod: OpenLayers.Easing.Linear.easeOut,
|
||||
panDuration: 10
|
||||
});
|
||||
|
||||
velayer = new OpenLayers.Layer.VirtualEarth("VE", {
|
||||
minZoomLevel: 2,
|
||||
maxZoomLevel: 6,
|
||||
type: VEMapStyle.Road
|
||||
});
|
||||
map.addLayer(velayer);
|
||||
|
||||
map.setCenter(new OpenLayers.LonLat(25, 25), 0);
|
||||
|
||||
map.addControl( new OpenLayers.Control.PanZoomBar() );
|
||||
|
||||
markers = new OpenLayers.Layer.Markers("markers");
|
||||
map.addLayer(markers);
|
||||
|
||||
for(var i=0;i<100;i++){
|
||||
var lat= Math.floor(Math.random()*50);
|
||||
var lon= Math.floor(Math.random()*50);
|
||||
var lonLat=new OpenLayers.LonLat(lon,lat);
|
||||
var marker=new OpenLayers.Marker(lonLat);
|
||||
markers.addMarker(marker);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Virtual Earth Example</h1>
|
||||
|
||||
<div id="tags"></div>
|
||||
|
||||
<p id="shortdesc">
|
||||
When using the PanZoom buttons with VirtualEarth, some 'drift' is
|
||||
possible in markers. This page demonstrates how to use the
|
||||
panMethod and panDuration properties to change the OpenLayers
|
||||
settings to match VirtualEarth.
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,112 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers Labeled Features Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map;
|
||||
|
||||
function init(){
|
||||
map = new OpenLayers.Map('map');
|
||||
|
||||
var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
|
||||
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
|
||||
map.addLayer(layer);
|
||||
|
||||
// allow testing of specific renderers via "?renderer=Canvas", etc
|
||||
var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
|
||||
renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;
|
||||
|
||||
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry", {
|
||||
styleMap: new OpenLayers.StyleMap({'default':{
|
||||
strokeColor: "#00FF00",
|
||||
strokeOpacity: 1,
|
||||
strokeWidth: 3,
|
||||
fillColor: "#FF5500",
|
||||
fillOpacity: 0.5,
|
||||
pointRadius: 6,
|
||||
pointerEvents: "visiblePainted",
|
||||
label : "name: ${name}, age: ${age}",
|
||||
|
||||
fontColor: "${favColor}",
|
||||
fontSize: "12px",
|
||||
fontFamily: "Courier New, monospace",
|
||||
fontWeight: "bold",
|
||||
labelAlign: "${align}"
|
||||
}}),
|
||||
renderers: renderer
|
||||
});
|
||||
|
||||
// create a point feature
|
||||
var point = new OpenLayers.Geometry.Point(-111.04, 45.68);
|
||||
var pointFeature = new OpenLayers.Feature.Vector(point);
|
||||
pointFeature.attributes = {
|
||||
name: "toto",
|
||||
age: 20,
|
||||
favColor: 'red',
|
||||
align: "cm"
|
||||
};
|
||||
|
||||
// create a polygon feature from a linear ring of points
|
||||
var pointList = [];
|
||||
for(var p=0; p<6; ++p) {
|
||||
var a = p * (2 * Math.PI) / 7;
|
||||
var r = Math.random(1) + 1;
|
||||
var newPoint = new OpenLayers.Geometry.Point(point.x + 5 + (r * Math.cos(a)),
|
||||
point.y + 5 + (r * Math.sin(a)));
|
||||
pointList.push(newPoint);
|
||||
}
|
||||
pointList.push(pointList[0]);
|
||||
|
||||
var linearRing = new OpenLayers.Geometry.LinearRing(pointList);
|
||||
var polygonFeature = new OpenLayers.Feature.Vector(
|
||||
new OpenLayers.Geometry.Polygon([linearRing]));
|
||||
polygonFeature.attributes = {
|
||||
name: "dude",
|
||||
age: 21,
|
||||
favColor: 'purple',
|
||||
align: 'lb'
|
||||
};
|
||||
|
||||
multiFeature = new OpenLayers.Feature.Vector(
|
||||
new OpenLayers.Geometry.Collection([
|
||||
new OpenLayers.Geometry.LineString([
|
||||
new OpenLayers.Geometry.Point(-105,40),
|
||||
new OpenLayers.Geometry.Point(-95,45)
|
||||
]),
|
||||
new OpenLayers.Geometry.Point(-105, 40)
|
||||
]),
|
||||
{
|
||||
name: "ball-and-chain",
|
||||
age: 30,
|
||||
favColor: 'black',
|
||||
align: 'rt'
|
||||
});
|
||||
var nullFeature = new OpenLayers.Feature.Vector(null);
|
||||
nullFeature.attributes = {
|
||||
name: "toto is some text about the world",
|
||||
age: 20,
|
||||
favColor: 'red',
|
||||
align: "cm"
|
||||
};
|
||||
|
||||
map.addLayer(vectorLayer);
|
||||
vectorLayer.drawFeature(multiFeature);
|
||||
map.setCenter(new OpenLayers.LonLat(point.x, point.y), 3);
|
||||
vectorLayer.addFeatures([pointFeature, polygonFeature, multiFeature, nullFeature ]);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">OpenLayers Labeled features example</h1>
|
||||
<div id="tags"></div>
|
||||
<p id="shortdesc">
|
||||
Label vector features with a text symbolizer.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
This example shows drawing simple vector features with a label
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Vector Features</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js" type="text/javascript"></script>
|
||||
@@ -62,8 +61,6 @@
|
||||
style_mark.graphicXOffset = -(style_mark.graphicWidth/2); // this is the default value
|
||||
style_mark.graphicYOffset = -style_mark.graphicHeight;
|
||||
style_mark.externalGraphic = "../img/marker.png";
|
||||
// graphicTitle only works in Firefox and Internet Explorer
|
||||
style_mark.graphicTitle = "this is a test tooltip";
|
||||
|
||||
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry", {style: layer_style});
|
||||
|
||||
@@ -117,7 +114,7 @@
|
||||
Shows the use of the shows drawing simple vector features, in different styles.
|
||||
</p>
|
||||
<div style="text-align: right">
|
||||
<div dir="rtl" id="map" class="smallmap"></div>
|
||||
<div id="map" class="smallmap"></div>
|
||||
</div>
|
||||
<div id="docs">
|
||||
<p>This example shows drawing simple vector features -- point, line, polygon
|
||||
|
||||
@@ -1,197 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src='http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<style>
|
||||
.customEditingToolbar {
|
||||
float: right;
|
||||
right: 0px;
|
||||
height: 30px;
|
||||
width: 200px;
|
||||
}
|
||||
.customEditingToolbar div {
|
||||
float: right;
|
||||
margin: 5px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
.olControlNavigationItemActive {
|
||||
background-image: url("../theme/default/img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -103px -23px;
|
||||
}
|
||||
.olControlNavigationItemInactive {
|
||||
background-image: url("../theme/default/img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -103px -0px;
|
||||
}
|
||||
.olControlDrawFeaturePolygonItemInactive {
|
||||
background-image: url("../theme/default/img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -26px 0px;
|
||||
}
|
||||
.olControlDrawFeaturePolygonItemActive {
|
||||
background-image: url("../theme/default/img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -26px -23px ;
|
||||
}
|
||||
.olControlModifyFeatureItemActive {
|
||||
background-image: url(../theme/default/img/move_feature_on.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
.olControlModifyFeatureItemInactive {
|
||||
background-image: url(../theme/default/img/move_feature_off.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
.olControlDeleteFeatureItemActive {
|
||||
background-image: url(../theme/default/img/remove_point_on.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
.olControlDeleteFeatureItemInactive {
|
||||
background-image: url(../theme/default/img/remove_point_off.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var map, wfs;
|
||||
|
||||
var DeleteFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
initialize: function(layer, options) {
|
||||
OpenLayers.Control.prototype.initialize.apply(this, [options]);
|
||||
this.layer = layer;
|
||||
this.handler = new OpenLayers.Handler.Feature(
|
||||
this, layer, {click: this.clickFeature}
|
||||
);
|
||||
},
|
||||
clickFeature: function(feature) {
|
||||
// if feature doesn't have a fid, destroy it
|
||||
if(feature.fid == undefined) {
|
||||
this.layer.destroyFeatures([feature]);
|
||||
} else {
|
||||
feature.state = OpenLayers.State.DELETE;
|
||||
this.layer.events.triggerEvent("afterfeaturemodified",
|
||||
{feature: feature});
|
||||
feature.renderIntent = "select";
|
||||
this.layer.drawFeature(feature);
|
||||
}
|
||||
},
|
||||
setMap: function(map) {
|
||||
this.handler.setMap(map);
|
||||
OpenLayers.Control.prototype.setMap.apply(this, arguments);
|
||||
},
|
||||
CLASS_NAME: "OpenLayers.Control.DeleteFeature"
|
||||
});
|
||||
|
||||
function init() {
|
||||
OpenLayers.ProxyHost= "proxy.cgi?url=";
|
||||
map = new OpenLayers.Map('map', {
|
||||
projection: new OpenLayers.Projection("EPSG:900913"),
|
||||
displayProjection: new OpenLayers.Projection("EPSG:4326"),
|
||||
units: "m",
|
||||
maxResolution: 156543.0339,
|
||||
maxExtent: new OpenLayers.Bounds(
|
||||
-11593508, 5509847, -11505759, 5557774
|
||||
),
|
||||
controls: [
|
||||
new OpenLayers.Control.PanZoom()
|
||||
]
|
||||
});
|
||||
var gphy = new OpenLayers.Layer.Google(
|
||||
"Google Physical",
|
||||
{type: G_PHYSICAL_MAP, sphericalMercator: true}
|
||||
);
|
||||
|
||||
var saveStrategy = new OpenLayers.Strategy.Save();
|
||||
|
||||
wfs = new OpenLayers.Layer.Vector("Editable Features", {
|
||||
strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],
|
||||
projection: new OpenLayers.Projection("EPSG:4326"),
|
||||
protocol: new OpenLayers.Protocol.WFS({
|
||||
version: "1.1.0",
|
||||
srsName: "EPSG:4326",
|
||||
url: "http://demo.opengeo.org/geoserver/wfs",
|
||||
featureNS : "http://opengeo.org",
|
||||
featureType: "restricted",
|
||||
geometryName: "the_geom",
|
||||
schema: "http://demo.opengeo.org/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=og:restricted"
|
||||
})
|
||||
});
|
||||
|
||||
map.addLayers([gphy, wfs]);
|
||||
|
||||
var panel = new OpenLayers.Control.Panel(
|
||||
{'displayClass': 'customEditingToolbar'}
|
||||
);
|
||||
|
||||
var navigate = new OpenLayers.Control.Navigation({
|
||||
title: "Pan Map",
|
||||
});
|
||||
|
||||
var draw = new OpenLayers.Control.DrawFeature(
|
||||
wfs, OpenLayers.Handler.Polygon,
|
||||
{
|
||||
title: "Draw Feature",
|
||||
displayClass: "olControlDrawFeaturePolygon",
|
||||
handlerOptions: {multi: true}
|
||||
}
|
||||
);
|
||||
|
||||
var edit = new OpenLayers.Control.ModifyFeature(wfs, {
|
||||
title: "Modify Feature",
|
||||
displayClass: "olControlModifyFeature",
|
||||
});
|
||||
|
||||
var del = new DeleteFeature(wfs, {title: "Delete Feature"});
|
||||
|
||||
var save = new OpenLayers.Control.Button({
|
||||
title: "Save Changes",
|
||||
trigger: function() {
|
||||
if(edit.feature) {
|
||||
edit.selectControl.unselectAll();
|
||||
}
|
||||
saveStrategy.save();
|
||||
},
|
||||
displayClass: "olControlSaveFeatures"
|
||||
});
|
||||
|
||||
panel.addControls([navigate, save, del, edit, draw]);
|
||||
panel.defaultControl = navigate;
|
||||
map.addControl(panel);
|
||||
map.zoomToMaxExtent();
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
|
||||
<h1 id="title">WFS Transaction Example</h1>
|
||||
|
||||
<div id="tags">
|
||||
</div>
|
||||
<p id="shortdesc">
|
||||
Shows the use of the WFS Transactions (WFS-T).
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs">
|
||||
<p>The WFS protocol allows for creation of new features and reading,
|
||||
updating, or deleting of existing features.</p>
|
||||
<p>Use the tools to create, modify, and delete (in order from left
|
||||
to right) features. Use the save tool (picture of a disk) to
|
||||
save your changes. Use the navigation tool (hand) to stop editing
|
||||
and use the mouse for map navigation.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers Vector Behavior Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/Firebug/firebug.js"></script>
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map;
|
||||
|
||||
function init() {
|
||||
OpenLayers.ProxyHost= "proxy.cgi?url=";
|
||||
map = new OpenLayers.Map('map');
|
||||
var wms = new OpenLayers.Layer.WMS(
|
||||
"OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0",
|
||||
{layers: 'basic'}
|
||||
);
|
||||
|
||||
var layer = new OpenLayers.Layer.Vector("WFS", {
|
||||
strategies: [new OpenLayers.Strategy.BBOX()],
|
||||
protocol: new OpenLayers.Protocol.WFS({
|
||||
url: "http://publicus.opengeo.org/geoserver/wfs",
|
||||
featureType: "tasmania_roads",
|
||||
featureNS: "http://www.openplans.org/topp"
|
||||
}),
|
||||
});
|
||||
|
||||
map.addLayers([wms, layer]);
|
||||
map.setCenter(new OpenLayers.LonLat(146.7, -41.8), 6);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Vector Behavior Example</h1>
|
||||
<p id="shortdesc">
|
||||
Uses a BBOX strategy, WFS protocol, and GML format.
|
||||
</p>
|
||||
<div id="map" class="smallmap"></div>
|
||||
<div id="docs">
|
||||
<p>The vector layer shown uses the BBOX strategy, the WFS protocol,
|
||||
and the GML format. The BBOX strategy fetches features within a
|
||||
bounding box. When the map bounds invalidate the data bounds,
|
||||
another request is triggered. The WFS protocol gets features
|
||||
through a WFS request. The GML format is used to serialize
|
||||
features.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,288 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<style>
|
||||
.customEditingToolbar {
|
||||
float: right;
|
||||
right: 0px;
|
||||
height: 30px;
|
||||
width: 200px;
|
||||
}
|
||||
.customEditingToolbar div {
|
||||
float: right;
|
||||
margin: 5px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
.olControlNavigationItemActive {
|
||||
background-image: url("../theme/default/img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -103px -23px;
|
||||
}
|
||||
.olControlNavigationItemInactive {
|
||||
background-image: url("../theme/default/img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -103px -0px;
|
||||
}
|
||||
.olControlDrawFeaturePointItemInactive {
|
||||
background-image: url("../theme/default/img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -77px 0px;
|
||||
}
|
||||
.olControlDrawFeaturePointItemActive {
|
||||
background-image: url("../theme/default/img/editing_tool_bar.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: -77px -23px ;
|
||||
}
|
||||
.olControlModifyFeatureItemActive {
|
||||
background-image: url(../theme/default/img/move_feature_on.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
.olControlModifyFeatureItemInactive {
|
||||
background-image: url(../theme/default/img/move_feature_off.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
.olControlDeleteFeatureItemActive {
|
||||
background-image: url(../theme/default/img/remove_point_on.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
.olControlDeleteFeatureItemInactive {
|
||||
background-image: url(../theme/default/img/remove_point_off.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 1px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var map, wfs;
|
||||
|
||||
var DeleteFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
initialize: function(layer, options) {
|
||||
OpenLayers.Control.prototype.initialize.apply(this, [options]);
|
||||
this.layer = layer;
|
||||
this.handler = new OpenLayers.Handler.Feature(
|
||||
this, layer, {click: this.clickFeature}
|
||||
);
|
||||
},
|
||||
clickFeature: function(feature) {
|
||||
// if feature doesn't have a fid, destroy it
|
||||
if(feature.fid == undefined) {
|
||||
this.layer.destroyFeatures([feature]);
|
||||
} else {
|
||||
feature.state = OpenLayers.State.DELETE;
|
||||
this.layer.events.triggerEvent("afterfeaturemodified",
|
||||
{feature: feature});
|
||||
feature.renderIntent = "select";
|
||||
this.layer.drawFeature(feature);
|
||||
}
|
||||
},
|
||||
setMap: function(map) {
|
||||
this.handler.setMap(map);
|
||||
OpenLayers.Control.prototype.setMap.apply(this, arguments);
|
||||
},
|
||||
CLASS_NAME: "OpenLayers.Control.DeleteFeature"
|
||||
});
|
||||
|
||||
function init() {
|
||||
OpenLayers.ProxyHost= "proxy.cgi?url=";
|
||||
map = new OpenLayers.Map('map', {
|
||||
maxResolution: 156543.03390625,
|
||||
restrictedExtent: new OpenLayers.Bounds(
|
||||
-11560239, 5541115, -11560239, 5542338
|
||||
),
|
||||
maxExtent: new OpenLayers.Bounds(
|
||||
-2.003750834E7,-2.003750834E7,
|
||||
2.003750834E7,2.003750834E7
|
||||
),
|
||||
projection: new OpenLayers.Projection("EPSG:900913"),
|
||||
controls: [
|
||||
new OpenLayers.Control.PanZoom()
|
||||
]
|
||||
});
|
||||
|
||||
var wms = new OpenLayers.Layer.WMS(
|
||||
"Base Layer", "http://demo.opengeo.org/geoserver_openstreetmap/gwc/service/wms",
|
||||
{
|
||||
layers: 'openstreetmap',
|
||||
format: 'image/png'
|
||||
}
|
||||
);
|
||||
var styles = new OpenLayers.StyleMap({
|
||||
"default": new OpenLayers.Style(null, {
|
||||
rules: [
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
"Point": {
|
||||
pointRadius: 5,
|
||||
graphicName: "square",
|
||||
fillColor: "white",
|
||||
fillOpacity: 0.25,
|
||||
strokeWidth: 1,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#333333"
|
||||
},
|
||||
"Line": {
|
||||
strokeWidth: 3,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#666666"
|
||||
}
|
||||
}
|
||||
})
|
||||
]
|
||||
}),
|
||||
"select": new OpenLayers.Style({
|
||||
strokeColor: "#00ccff",
|
||||
strokeWidth: 4
|
||||
}),
|
||||
"temporary": new OpenLayers.Style(null, {
|
||||
rules: [
|
||||
new OpenLayers.Rule({
|
||||
symbolizer: {
|
||||
"Point": {
|
||||
pointRadius: 5,
|
||||
graphicName: "square",
|
||||
fillColor: "white",
|
||||
fillOpacity: 0.25,
|
||||
strokeWidth: 1,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#333333"
|
||||
},
|
||||
"Line": {
|
||||
strokeWidth: 3,
|
||||
strokeOpacity: 1,
|
||||
strokeColor: "#00ccff"
|
||||
}
|
||||
}
|
||||
})
|
||||
]
|
||||
})
|
||||
});
|
||||
|
||||
var saveStrategy = new OpenLayers.Strategy.Save();
|
||||
wfs = new OpenLayers.Layer.Vector("Editable Features", {
|
||||
strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],
|
||||
projection: new OpenLayers.Projection("EPSG:4326"),
|
||||
styleMap: styles,
|
||||
protocol: new OpenLayers.Protocol.WFS({
|
||||
version: "1.1.0",
|
||||
srsName: "EPSG:4326",
|
||||
url: "http://demo.opengeo.org/geoserver/wfs",
|
||||
featureNS : "http://opengeo.org",
|
||||
featureType: "roads",
|
||||
geometryName: "the_geom",
|
||||
schema: "http://demo.opengeo.org/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=og:roads"
|
||||
})
|
||||
});
|
||||
|
||||
map.addLayers([wms, wfs]);
|
||||
|
||||
// configure the snapping agent
|
||||
var snap = new OpenLayers.Control.Snapping({layer: wfs});
|
||||
map.addControl(snap);
|
||||
snap.activate();
|
||||
|
||||
// configure split agent
|
||||
var split = new OpenLayers.Control.Split({
|
||||
layer: wfs,
|
||||
source: wfs,
|
||||
tolerance: 0.0001,
|
||||
deferDelete: true,
|
||||
eventListeners: {
|
||||
aftersplit: function(event) {
|
||||
var msg = "Split resulted in " + event.features.length + " features.";
|
||||
flashFeatures(event.features);
|
||||
}
|
||||
}
|
||||
});
|
||||
map.addControl(split);
|
||||
split.activate();
|
||||
|
||||
// add some editing tools to a panel
|
||||
var panel = new OpenLayers.Control.Panel(
|
||||
{displayClass: 'customEditingToolbar'}
|
||||
);
|
||||
var draw = new OpenLayers.Control.DrawFeature(
|
||||
wfs, OpenLayers.Handler.Path,
|
||||
{
|
||||
title: "Draw Feature",
|
||||
displayClass: "olControlDrawFeaturePoint",
|
||||
handlerOptions: {multi: true}
|
||||
}
|
||||
);
|
||||
modify = new OpenLayers.Control.ModifyFeature(
|
||||
wfs, {displayClass: "olControlModifyFeature"}
|
||||
);
|
||||
var del = new DeleteFeature(wfs, {title: "Delete Feature"});
|
||||
|
||||
var save = new OpenLayers.Control.Button({
|
||||
title: "Save Changes",
|
||||
trigger: function() {
|
||||
if(modify.feature) {
|
||||
modify.selectControl.unselectAll();
|
||||
}
|
||||
saveStrategy.save();
|
||||
},
|
||||
displayClass: "olControlSaveFeatures"
|
||||
});
|
||||
|
||||
|
||||
|
||||
panel.addControls([
|
||||
new OpenLayers.Control.Navigation(),
|
||||
save, del, modify, draw
|
||||
]);
|
||||
|
||||
panel.defaultControl = panel.controls[0];
|
||||
map.addControl(panel);
|
||||
map.zoomTo(15);
|
||||
}
|
||||
|
||||
function flashFeatures(features, index) {
|
||||
if(!index) {
|
||||
index = 0;
|
||||
}
|
||||
var current = features[index];
|
||||
if(current && current.layer === wfs) {
|
||||
wfs.drawFeature(features[index], "select");
|
||||
}
|
||||
var prev = features[index-1];
|
||||
if(prev && prev.layer === wfs) {
|
||||
wfs.drawFeature(prev, "default");
|
||||
}
|
||||
++index;
|
||||
if(index <= features.length) {
|
||||
window.setTimeout(function() {flashFeatures(features, index)}, 100);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
|
||||
<h1 id="title">Snap/Split and Persist via WFS</h1>
|
||||
|
||||
<div id="tags">
|
||||
</div>
|
||||
<p id="shortdesc">
|
||||
Shows snapping, splitting, and use of the WFS Transactions (WFS-T).
|
||||
</p>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs">
|
||||
<p>The WFS protocol allows for creation of new features and reading,
|
||||
updating, or deleting of existing features.</p>
|
||||
<p>Use the tools to create, modify, and delete (in order from left
|
||||
to right) features. Use the save tool (picture of a disk) to
|
||||
save your changes. Use the navigation tool (hand) to stop editing
|
||||
and use the mouse for map navigation.</p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: WFS-T</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/Firebug/firebug.js"></script>
|
||||
@@ -54,7 +53,7 @@
|
||||
var draw = new OpenLayers.Control.DrawFeature(
|
||||
wfs, OpenLayers.Handler.Point,
|
||||
{
|
||||
handlerOptions: {freehand: false, multi: true},
|
||||
handlerOptions: {freehand: false},
|
||||
displayClass: "olControlDrawFeaturePoint"
|
||||
}
|
||||
);
|
||||
@@ -64,6 +63,14 @@
|
||||
displayClass: "olControlSaveFeatures"
|
||||
});
|
||||
|
||||
draw.featureAdded = function(feature) {
|
||||
var oldgeom = feature.geometry;
|
||||
feature.layer.renderer.eraseGeometry(oldgeom);
|
||||
feature.geometry = new OpenLayers.Geometry.MultiPoint(oldgeom);
|
||||
feature.state = OpenLayers.State.INSERT;
|
||||
feature.layer.drawFeature(feature);
|
||||
}
|
||||
|
||||
panel.addControls([
|
||||
new OpenLayers.Control.Navigation(),
|
||||
save, draw
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: WMS + Time</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Wrap Date Line</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<WMS_DescribeLayerResponse version="1.1.1">
|
||||
<LayerDescription name="topp:states" wfs="http://demo.opengeo.org:80/geoserver/wfs/WfsDispatcher?">
|
||||
<Query typeName="topp:states"/>
|
||||
</LayerDescription>
|
||||
</WMS_DescribeLayerResponse>
|
||||
@@ -1,34 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers Basic ESRI Map Cache Example</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="../lib/OpenLayers.js"></script>
|
||||
<script type="text/javascript">
|
||||
var map, layer;
|
||||
function init(){
|
||||
OpenLayers.Util.onImageLoadError = function() { this.style.display="none";}
|
||||
var layerExtent = new OpenLayers.Bounds( -13758743.4295939, 5591455.28887228, -13531302.3472101 , 5757360.4178881)
|
||||
map = new OpenLayers.Map( 'map', {'restrictedExtent': layerExtent} );
|
||||
layer = new OpenLayers.Layer.XYZ( "ESRI",
|
||||
"http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServer/tile/${z}/${y}/${x}",
|
||||
{sphericalMercator: true} );
|
||||
map.addLayer(layer);
|
||||
map.zoomToExtent(map.restrictedExtent);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<h1 id="title">Basic ESRI Map Cache Example</h1>
|
||||
|
||||
<div id="tags"></div>
|
||||
|
||||
<div id="shortdesc">Show a Simple ESRI map using the layer from <a href="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServer">ESRI's server</a>. </div>
|
||||
|
||||
<div id="map" class="smallmap"></div>
|
||||
|
||||
<div id="docs">
|
||||
Show the use of the XYZ layer to access a map cache provided in spherical mercator by ESRI.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,6 +1,5 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>OpenLayers: Yahoo Layer</title>
|
||||
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers"></script>
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
/*
|
||||
* @requires OpenLayers/BaseTypes.js
|
||||
* @requires OpenLayers/Lang/en.js
|
||||
* @requires OpenLayers/Console.js
|
||||
*/
|
||||
|
||||
(function() {
|
||||
@@ -38,21 +37,27 @@
|
||||
*/
|
||||
_getScriptLocation: function () {
|
||||
var scriptLocation = "";
|
||||
var isOL = new RegExp("(^|(.*?\\/))(" + OpenLayers._scriptName + ")(\\?|$)");
|
||||
var scriptName = OpenLayers._scriptName;
|
||||
|
||||
var scripts = document.getElementsByTagName('script');
|
||||
for (var i=0, len=scripts.length; i<len; i++) {
|
||||
var src = scripts[i].getAttribute('src');
|
||||
if (src) {
|
||||
var match = src.match(isOL);
|
||||
if(match) {
|
||||
scriptLocation = match[1];
|
||||
var index = src.lastIndexOf(scriptName);
|
||||
// set path length for src up to a query string
|
||||
var pathLength = src.lastIndexOf('?');
|
||||
if (pathLength < 0) {
|
||||
pathLength = src.length;
|
||||
}
|
||||
// is it found, at the end of the URL?
|
||||
if ((index > -1) && (index + scriptName.length == pathLength)) {
|
||||
scriptLocation = src.slice(0, pathLength - scriptName.length);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return scriptLocation;
|
||||
}
|
||||
}
|
||||
};
|
||||
/**
|
||||
* OpenLayers.singleFile is a flag indicating this file is being included
|
||||
@@ -78,10 +83,11 @@
|
||||
"OpenLayers/Tween.js",
|
||||
"Rico/Corner.js",
|
||||
"Rico/Color.js",
|
||||
"Gears/gears_init.js",
|
||||
"OpenLayers/Ajax.js",
|
||||
"OpenLayers/Events.js",
|
||||
"OpenLayers/Request.js",
|
||||
"OpenLayers/Request/XMLHttpRequest.js",
|
||||
"OpenLayers/Events.js",
|
||||
"OpenLayers/Projection.js",
|
||||
"OpenLayers/Map.js",
|
||||
"OpenLayers/Layer.js",
|
||||
@@ -110,13 +116,10 @@
|
||||
"OpenLayers/Layer/Markers.js",
|
||||
"OpenLayers/Layer/Text.js",
|
||||
"OpenLayers/Layer/WorldWind.js",
|
||||
"OpenLayers/Layer/ArcGIS93Rest.js",
|
||||
"OpenLayers/Layer/WMS.js",
|
||||
"OpenLayers/Layer/WMS/Untiled.js",
|
||||
"OpenLayers/Layer/ArcIMS.js",
|
||||
"OpenLayers/Layer/GeoRSS.js",
|
||||
"OpenLayers/Layer/Boxes.js",
|
||||
"OpenLayers/Layer/XYZ.js",
|
||||
"OpenLayers/Layer/TMS.js",
|
||||
"OpenLayers/Layer/TileCache.js",
|
||||
"OpenLayers/Popup/Anchored.js",
|
||||
@@ -155,8 +158,6 @@
|
||||
"OpenLayers/Control/Permalink.js",
|
||||
"OpenLayers/Control/Scale.js",
|
||||
"OpenLayers/Control/ScaleLine.js",
|
||||
"OpenLayers/Control/Snapping.js",
|
||||
"OpenLayers/Control/Split.js",
|
||||
"OpenLayers/Control/LayerSwitcher.js",
|
||||
"OpenLayers/Control/DrawFeature.js",
|
||||
"OpenLayers/Control/DragFeature.js",
|
||||
@@ -165,7 +166,6 @@
|
||||
"OpenLayers/Control/SelectFeature.js",
|
||||
"OpenLayers/Control/NavigationHistory.js",
|
||||
"OpenLayers/Control/Measure.js",
|
||||
"OpenLayers/Control/WMSGetFeatureInfo.js",
|
||||
"OpenLayers/Geometry.js",
|
||||
"OpenLayers/Geometry/Rectangle.js",
|
||||
"OpenLayers/Geometry/Collection.js",
|
||||
@@ -184,21 +184,15 @@
|
||||
"OpenLayers/Renderer/Canvas.js",
|
||||
"OpenLayers/Renderer/VML.js",
|
||||
"OpenLayers/Layer/Vector.js",
|
||||
"OpenLayers/Layer/Vector/RootContainer.js",
|
||||
"OpenLayers/Strategy.js",
|
||||
"OpenLayers/Strategy/Fixed.js",
|
||||
"OpenLayers/Strategy/Cluster.js",
|
||||
"OpenLayers/Strategy/Paging.js",
|
||||
"OpenLayers/Strategy/BBOX.js",
|
||||
"OpenLayers/Strategy/Save.js",
|
||||
"OpenLayers/Protocol.js",
|
||||
"OpenLayers/Protocol/HTTP.js",
|
||||
"OpenLayers/Protocol/SQL.js",
|
||||
"OpenLayers/Protocol/SQL/Gears.js",
|
||||
"OpenLayers/Protocol/WFS.js",
|
||||
"OpenLayers/Protocol/WFS/v1.js",
|
||||
"OpenLayers/Protocol/WFS/v1_0_0.js",
|
||||
"OpenLayers/Protocol/WFS/v1_1_0.js",
|
||||
"OpenLayers/Layer/PointTrack.js",
|
||||
"OpenLayers/Layer/GML.js",
|
||||
"OpenLayers/Style.js",
|
||||
@@ -211,8 +205,6 @@
|
||||
"OpenLayers/Filter/Spatial.js",
|
||||
"OpenLayers/Format.js",
|
||||
"OpenLayers/Format/XML.js",
|
||||
"OpenLayers/Format/ArcXML.js",
|
||||
"OpenLayers/Format/ArcXML/Features.js",
|
||||
"OpenLayers/Format/GML.js",
|
||||
"OpenLayers/Format/GML/Base.js",
|
||||
"OpenLayers/Format/GML/v2.js",
|
||||
@@ -220,28 +212,16 @@
|
||||
"OpenLayers/Format/KML.js",
|
||||
"OpenLayers/Format/GeoRSS.js",
|
||||
"OpenLayers/Format/WFS.js",
|
||||
"OpenLayers/Format/WFSCapabilities.js",
|
||||
"OpenLayers/Format/WFSCapabilities/v1.js",
|
||||
"OpenLayers/Format/WFSCapabilities/v1_0_0.js",
|
||||
"OpenLayers/Format/WFSCapabilities/v1_1_0.js",
|
||||
"OpenLayers/Format/WFSDescribeFeatureType.js",
|
||||
"OpenLayers/Format/WMSDescribeLayer.js",
|
||||
"OpenLayers/Format/WMSDescribeLayer/v1_1.js",
|
||||
"OpenLayers/Format/WKT.js",
|
||||
"OpenLayers/Format/OSM.js",
|
||||
"OpenLayers/Format/GPX.js",
|
||||
"OpenLayers/Format/Filter.js",
|
||||
"OpenLayers/Format/Filter/v1.js",
|
||||
"OpenLayers/Format/Filter/v1_0_0.js",
|
||||
"OpenLayers/Format/Filter/v1_1_0.js",
|
||||
"OpenLayers/Format/SLD.js",
|
||||
"OpenLayers/Format/SLD/v1.js",
|
||||
"OpenLayers/Format/SLD/v1_0_0.js",
|
||||
"OpenLayers/Format/SLD/v1.js",
|
||||
"OpenLayers/Format/WFST.js",
|
||||
"OpenLayers/Format/WFST/v1.js",
|
||||
"OpenLayers/Format/WFST/v1_0_0.js",
|
||||
"OpenLayers/Format/WFST/v1_1_0.js",
|
||||
"OpenLayers/Format/Filter.js",
|
||||
"OpenLayers/Format/Filter/v1.js",
|
||||
"OpenLayers/Format/Filter/v1_0_0.js",
|
||||
"OpenLayers/Format/Text.js",
|
||||
"OpenLayers/Format/JSON.js",
|
||||
"OpenLayers/Format/GeoJSON.js",
|
||||
@@ -249,13 +229,7 @@
|
||||
"OpenLayers/Format/WMC/v1.js",
|
||||
"OpenLayers/Format/WMC/v1_0_0.js",
|
||||
"OpenLayers/Format/WMC/v1_1_0.js",
|
||||
"OpenLayers/Format/WMSCapabilities.js",
|
||||
"OpenLayers/Format/WMSCapabilities/v1_1.js",
|
||||
"OpenLayers/Format/WMSCapabilities/v1_1_0.js",
|
||||
"OpenLayers/Format/WMSCapabilities/v1_1_1.js",
|
||||
"OpenLayers/Format/WMSGetFeatureInfo.js",
|
||||
"OpenLayers/Layer/WFS.js",
|
||||
"OpenLayers/Control/GetFeature.js",
|
||||
"OpenLayers/Control/MouseToolbar.js",
|
||||
"OpenLayers/Control/NavToolbar.js",
|
||||
"OpenLayers/Control/PanPanel.js",
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Request/XMLHttpRequest.js
|
||||
* @requires OpenLayers/Console.js
|
||||
*/
|
||||
|
||||
OpenLayers.ProxyHost = "";
|
||||
@@ -43,7 +42,7 @@ OpenLayers.nullHandler = function(request) {
|
||||
};
|
||||
|
||||
/**
|
||||
* APIFunction: loadURL
|
||||
* Function: loadURL
|
||||
* Background load a document. For more flexibility in using XMLHttpRequest,
|
||||
* see the <OpenLayers.Request> methods.
|
||||
*
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
* @requires OpenLayers/BaseTypes/Bounds.js
|
||||
* @requires OpenLayers/BaseTypes/Element.js
|
||||
* @requires OpenLayers/Lang/en.js
|
||||
* @requires OpenLayers/Console.js
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -67,7 +66,7 @@ OpenLayers.String = {
|
||||
* trailing spaces removed.
|
||||
*/
|
||||
trim: function(str) {
|
||||
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
|
||||
return str.replace(/^\s*(.*?)\s*$/, "$1");
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -117,53 +116,26 @@ OpenLayers.String = {
|
||||
if(!context) {
|
||||
context = window;
|
||||
}
|
||||
|
||||
// Example matching:
|
||||
// str = ${foo.bar}
|
||||
// match = foo.bar
|
||||
var replacer = function(str, match) {
|
||||
var replacement;
|
||||
|
||||
// Loop through all subs. Example: ${a.b.c}
|
||||
// 0 -> replacement = context[a];
|
||||
// 1 -> replacement = context[a][b];
|
||||
// 2 -> replacement = context[a][b][c];
|
||||
var subs = match.split(/\.+/);
|
||||
for (var i=0; i< subs.length; i++) {
|
||||
if (i == 0) {
|
||||
replacement = context;
|
||||
var tokens = template.split("${");
|
||||
var item, last, replacement;
|
||||
for(var i=1, len=tokens.length; i<len; i++) {
|
||||
item = tokens[i];
|
||||
last = item.indexOf("}");
|
||||
if(last > 0) {
|
||||
replacement = context[item.substring(0, last)];
|
||||
if(typeof replacement == "function") {
|
||||
replacement = args ?
|
||||
replacement.apply(null, args) :
|
||||
replacement();
|
||||
}
|
||||
|
||||
replacement = replacement[subs[i]];
|
||||
}
|
||||
|
||||
if(typeof replacement == "function") {
|
||||
replacement = args ?
|
||||
replacement.apply(null, args) :
|
||||
replacement();
|
||||
}
|
||||
|
||||
// If replacement is undefined, return the string 'undefined'.
|
||||
// This is a workaround for a bugs in browsers not properly
|
||||
// dealing with non-participating groups in regular expressions:
|
||||
// http://blog.stevenlevithan.com/archives/npcg-javascript
|
||||
if (typeof replacement == 'undefined') {
|
||||
return 'undefined';
|
||||
tokens[i] = replacement + item.substring(++last);
|
||||
} else {
|
||||
return replacement;
|
||||
tokens[i] = "${" + item;
|
||||
}
|
||||
};
|
||||
|
||||
return template.replace(OpenLayers.String.tokenRegEx, replacer);
|
||||
}
|
||||
return tokens.join("");
|
||||
},
|
||||
|
||||
/**
|
||||
* Property: OpenLayers.String.tokenRegEx
|
||||
* Used to find tokens in a string.
|
||||
* Examples: ${a}, ${a.b.c}, ${a-b}, ${5}
|
||||
*/
|
||||
tokenRegEx: /\${([\w.]+?)}/g,
|
||||
|
||||
/**
|
||||
* Property: OpenLayers.String.numberRegEx
|
||||
* Used to test strings as numbers.
|
||||
@@ -187,18 +159,6 @@ OpenLayers.String = {
|
||||
*/
|
||||
isNumeric: function(value) {
|
||||
return OpenLayers.String.numberRegEx.test(value);
|
||||
},
|
||||
|
||||
/**
|
||||
* APIFunction: numericIf
|
||||
* Converts a string that appears to be a numeric value into a number.
|
||||
*
|
||||
* Returns
|
||||
* {Number|String} a Number if the passed value is a number, a String
|
||||
* otherwise.
|
||||
*/
|
||||
numericIf: function(value) {
|
||||
return OpenLayers.String.isNumeric(value) ? parseFloat(value) : value;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Console.js
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Bounds
|
||||
* Instances of this class represent bounding boxes. Data stored as left,
|
||||
@@ -44,13 +40,6 @@ OpenLayers.Bounds = OpenLayers.Class({
|
||||
*/
|
||||
top: null,
|
||||
|
||||
/**
|
||||
* Property: centerLonLat
|
||||
* {<OpenLayers.LonLat>} A cached center location. This should not be
|
||||
* accessed directly. Use <getCenterLonLat> instead.
|
||||
*/
|
||||
centerLonLat: null,
|
||||
|
||||
/**
|
||||
* Constructor: OpenLayers.Bounds
|
||||
* Construct a new bounds object.
|
||||
@@ -65,16 +54,16 @@ OpenLayers.Bounds = OpenLayers.Class({
|
||||
*/
|
||||
initialize: function(left, bottom, right, top) {
|
||||
if (left != null) {
|
||||
this.left = OpenLayers.Util.toFloat(left);
|
||||
this.left = parseFloat(left);
|
||||
}
|
||||
if (bottom != null) {
|
||||
this.bottom = OpenLayers.Util.toFloat(bottom);
|
||||
this.bottom = parseFloat(bottom);
|
||||
}
|
||||
if (right != null) {
|
||||
this.right = OpenLayers.Util.toFloat(right);
|
||||
this.right = parseFloat(right);
|
||||
}
|
||||
if (top != null) {
|
||||
this.top = OpenLayers.Util.toFloat(top);
|
||||
this.top = parseFloat(top);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -226,12 +215,8 @@ OpenLayers.Bounds = OpenLayers.Class({
|
||||
* {<OpenLayers.LonLat>} The center of the bounds in map space.
|
||||
*/
|
||||
getCenterLonLat:function() {
|
||||
if(!this.centerLonLat) {
|
||||
this.centerLonLat = new OpenLayers.LonLat(
|
||||
(this.left + this.right) / 2, (this.bottom + this.top) / 2
|
||||
);
|
||||
}
|
||||
return this.centerLonLat;
|
||||
return new OpenLayers.LonLat( (this.left + this.right) / 2,
|
||||
(this.bottom + this.top) / 2);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -308,7 +293,6 @@ OpenLayers.Bounds = OpenLayers.Class({
|
||||
extend:function(object) {
|
||||
var bounds = null;
|
||||
if (object) {
|
||||
// clear cached center location
|
||||
switch(object.CLASS_NAME) {
|
||||
case "OpenLayers.LonLat":
|
||||
bounds = new OpenLayers.Bounds(object.lon, object.lat,
|
||||
@@ -325,7 +309,6 @@ OpenLayers.Bounds = OpenLayers.Class({
|
||||
}
|
||||
|
||||
if (bounds) {
|
||||
this.centerLonLat = null;
|
||||
if ( (this.left == null) || (bounds.left < this.left)) {
|
||||
this.left = bounds.left;
|
||||
}
|
||||
@@ -386,18 +369,12 @@ OpenLayers.Bounds = OpenLayers.Class({
|
||||
* bounds.
|
||||
*/
|
||||
contains:function(x, y, inclusive) {
|
||||
|
||||
//set default
|
||||
if (inclusive == null) {
|
||||
inclusive = true;
|
||||
}
|
||||
|
||||
if (x == null || y == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
x = OpenLayers.Util.toFloat(x);
|
||||
y = OpenLayers.Util.toFloat(y);
|
||||
|
||||
var contains = false;
|
||||
if (inclusive) {
|
||||
contains = ((x >= this.left) && (x <= this.right) &&
|
||||
@@ -411,85 +388,82 @@ OpenLayers.Bounds = OpenLayers.Class({
|
||||
|
||||
/**
|
||||
* APIMethod: intersectsBounds
|
||||
* Determine whether the target bounds intersects this bounds. Bounds are
|
||||
* considered intersecting if any of their edges intersect or if one
|
||||
* bounds contains the other.
|
||||
*
|
||||
* Parameters:
|
||||
* bounds - {<OpenLayers.Bounds>} The target bounds.
|
||||
* inclusive - {Boolean} Treat coincident borders as intersecting. Default
|
||||
* is true. If false, bounds that do not overlap but only touch at the
|
||||
* border will not be considered as intersecting.
|
||||
* bounds - {<OpenLayers.Bounds>}
|
||||
* inclusive - {Boolean} Whether or not to include the border. Default
|
||||
* is true.
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} The passed-in bounds object intersects this bounds.
|
||||
* {Boolean} The passed-in OpenLayers.Bounds object intersects this bounds.
|
||||
* Simple math just check if either contains the other, allowing for
|
||||
* partial.
|
||||
*/
|
||||
intersectsBounds:function(bounds, inclusive) {
|
||||
|
||||
if (inclusive == null) {
|
||||
inclusive = true;
|
||||
}
|
||||
var intersects = false;
|
||||
var mightTouch = (
|
||||
this.left == bounds.right ||
|
||||
this.right == bounds.left ||
|
||||
this.top == bounds.bottom ||
|
||||
this.bottom == bounds.top
|
||||
);
|
||||
var inBottom = (bounds.bottom == this.bottom && bounds.top == this.top) ?
|
||||
true : (((bounds.bottom > this.bottom) && (bounds.bottom < this.top)) ||
|
||||
((this.bottom > bounds.bottom) && (this.bottom < bounds.top)));
|
||||
var inTop = (bounds.bottom == this.bottom && bounds.top == this.top) ?
|
||||
true : (((bounds.top > this.bottom) && (bounds.top < this.top)) ||
|
||||
((this.top > bounds.bottom) && (this.top < bounds.top)));
|
||||
var inRight = (bounds.right == this.right && bounds.left == this.left) ?
|
||||
true : (((bounds.right > this.left) && (bounds.right < this.right)) ||
|
||||
((this.right > bounds.left) && (this.right < bounds.right)));
|
||||
var inLeft = (bounds.right == this.right && bounds.left == this.left) ?
|
||||
true : (((bounds.left > this.left) && (bounds.left < this.right)) ||
|
||||
((this.left > bounds.left) && (this.left < bounds.right)));
|
||||
|
||||
// if the two bounds only touch at an edge, and inclusive is false,
|
||||
// then the bounds don't *really* intersect.
|
||||
if (inclusive || !mightTouch) {
|
||||
// otherwise, if one of the boundaries even partially contains another,
|
||||
// inclusive of the edges, then they do intersect.
|
||||
var inBottom = (
|
||||
((bounds.bottom >= this.bottom) && (bounds.bottom <= this.top)) ||
|
||||
((this.bottom >= bounds.bottom) && (this.bottom <= bounds.top))
|
||||
);
|
||||
var inTop = (
|
||||
((bounds.top >= this.bottom) && (bounds.top <= this.top)) ||
|
||||
((this.top > bounds.bottom) && (this.top < bounds.top))
|
||||
);
|
||||
var inLeft = (
|
||||
((bounds.left >= this.left) && (bounds.left <= this.right)) ||
|
||||
((this.left >= bounds.left) && (this.left <= bounds.right))
|
||||
);
|
||||
var inRight = (
|
||||
((bounds.right >= this.left) && (bounds.right <= this.right)) ||
|
||||
((this.right >= bounds.left) && (this.right <= bounds.right))
|
||||
);
|
||||
intersects = ((inBottom || inTop) && (inLeft || inRight));
|
||||
}
|
||||
return intersects;
|
||||
return (this.containsBounds(bounds, true, inclusive) ||
|
||||
bounds.containsBounds(this, true, inclusive) ||
|
||||
((inTop || inBottom ) && (inLeft || inRight )));
|
||||
},
|
||||
|
||||
/**
|
||||
* APIMethod: containsBounds
|
||||
* Determine whether the target bounds is contained within this bounds.
|
||||
*
|
||||
* bounds - {<OpenLayers.Bounds>} The target bounds.
|
||||
* partial - {Boolean} If any of the target corners is within this bounds
|
||||
* consider the bounds contained. Default is false. If true, the
|
||||
* entire target bounds must be contained within this bounds.
|
||||
* inclusive - {Boolean} Treat shared edges as contained. Default is
|
||||
* bounds - {<OpenLayers.Bounds>}
|
||||
* partial - {Boolean} If true, only part of passed-in bounds needs be
|
||||
* within this bounds. If false, the entire passed-in bounds must be
|
||||
* within. Default is false
|
||||
* inclusive - {Boolean} Whether or not to include the border. Default is
|
||||
* true.
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} The passed-in bounds object is contained within this bounds.
|
||||
*/
|
||||
containsBounds:function(bounds, partial, inclusive) {
|
||||
|
||||
//set defaults
|
||||
if (partial == null) {
|
||||
partial = false;
|
||||
}
|
||||
if (inclusive == null) {
|
||||
inclusive = true;
|
||||
}
|
||||
var bottomLeft = this.contains(bounds.left, bounds.bottom, inclusive);
|
||||
var bottomRight = this.contains(bounds.right, bounds.bottom, inclusive);
|
||||
var topLeft = this.contains(bounds.left, bounds.top, inclusive);
|
||||
var topRight = this.contains(bounds.right, bounds.top, inclusive);
|
||||
|
||||
return (partial) ? (bottomLeft || bottomRight || topLeft || topRight)
|
||||
: (bottomLeft && bottomRight && topLeft && topRight);
|
||||
var inLeft;
|
||||
var inTop;
|
||||
var inRight;
|
||||
var inBottom;
|
||||
|
||||
if (inclusive) {
|
||||
inLeft = (bounds.left >= this.left) && (bounds.left <= this.right);
|
||||
inTop = (bounds.top >= this.bottom) && (bounds.top <= this.top);
|
||||
inRight= (bounds.right >= this.left) && (bounds.right <= this.right);
|
||||
inBottom = (bounds.bottom >= this.bottom) && (bounds.bottom <= this.top);
|
||||
} else {
|
||||
inLeft = (bounds.left > this.left) && (bounds.left < this.right);
|
||||
inTop = (bounds.top > this.bottom) && (bounds.top < this.top);
|
||||
inRight= (bounds.right > this.left) && (bounds.right < this.right);
|
||||
inBottom = (bounds.bottom > this.bottom) && (bounds.bottom < this.top);
|
||||
}
|
||||
|
||||
return (partial) ? (inTop || inBottom ) && (inLeft || inRight )
|
||||
: (inTop && inLeft && inBottom && inRight);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -525,8 +499,6 @@ OpenLayers.Bounds = OpenLayers.Class({
|
||||
* {<OpenLayers.Bounds>} Itself, for use in chaining operations.
|
||||
*/
|
||||
transform: function(source, dest) {
|
||||
// clear cached center location
|
||||
this.centerLonLat = null;
|
||||
var ll = OpenLayers.Projection.transform(
|
||||
{'x': this.left, 'y': this.bottom}, source, dest);
|
||||
var lr = OpenLayers.Projection.transform(
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
* To create a new OpenLayers-style class with multiple inheritance, use the
|
||||
* following syntax:
|
||||
* > var MyClass = OpenLayers.Class(Class1, Class2, prototype);
|
||||
* Note that instanceof reflection will only reveil Class1 as superclass.
|
||||
* Class2 ff are mixins.
|
||||
*
|
||||
*/
|
||||
OpenLayers.Class = function() {
|
||||
@@ -35,25 +33,9 @@ OpenLayers.Class = function() {
|
||||
}
|
||||
};
|
||||
var extended = {};
|
||||
var parent, initialize;
|
||||
var parent;
|
||||
for(var i=0, len=arguments.length; i<len; ++i) {
|
||||
if(typeof arguments[i] == "function") {
|
||||
// make the class passed as the first argument the superclass
|
||||
if(i == 0 && len > 1) {
|
||||
initialize = arguments[i].prototype.initialize;
|
||||
// replace the initialize method with an empty function,
|
||||
// because we do not want to create a real instance here
|
||||
arguments[i].prototype.initialize = function() {};
|
||||
// the line below makes sure that the new class has a
|
||||
// superclass
|
||||
extended = new arguments[i];
|
||||
// restore the original initialize method
|
||||
if(initialize === undefined) {
|
||||
delete arguments[i].prototype.initialize;
|
||||
} else {
|
||||
arguments[i].prototype.initialize = initialize;
|
||||
}
|
||||
}
|
||||
// get the prototype of the superclass
|
||||
parent = arguments[i].prototype;
|
||||
} else {
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Console.js
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.LonLat
|
||||
* This class represents a longitude and latitude pair
|
||||
@@ -37,8 +33,8 @@ OpenLayers.LonLat = OpenLayers.Class({
|
||||
* it will be the y coordinate of the map location in your map units.
|
||||
*/
|
||||
initialize: function(lon, lat) {
|
||||
this.lon = OpenLayers.Util.toFloat(lon);
|
||||
this.lat = OpenLayers.Util.toFloat(lat);
|
||||
this.lon = parseFloat(lon);
|
||||
this.lat = parseFloat(lat);
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Console.js
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Pixel
|
||||
* This class represents a screen coordinate, in x and y coordinates
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Console.js
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control
|
||||
* Controls affect the display or behavior of the map. They allow everything
|
||||
@@ -145,14 +141,14 @@ OpenLayers.Control = OpenLayers.Class({
|
||||
* properties of this event depends on exactly what happened.
|
||||
*
|
||||
* All event objects have at least the following properties:
|
||||
* object - {Object} A reference to control.events.object (a reference
|
||||
* - *object* {Object} A reference to control.events.object (a reference
|
||||
* to the control).
|
||||
* element - {DOMElement} A reference to control.events.element (which
|
||||
* - *element* {DOMElement} A reference to control.events.element (which
|
||||
* will be null unless documented otherwise).
|
||||
*
|
||||
* Supported map event types:
|
||||
* activate - Triggered when activated.
|
||||
* deactivate - Triggered when deactivated.
|
||||
* - *activate* Triggered when activated.
|
||||
* - *deactivate* Triggered when deactivated.
|
||||
*/
|
||||
EVENT_TYPES: ["activate", "deactivate"],
|
||||
|
||||
@@ -304,12 +300,6 @@ OpenLayers.Control = OpenLayers.Class({
|
||||
this.handler.activate();
|
||||
}
|
||||
this.active = true;
|
||||
if(this.map) {
|
||||
OpenLayers.Element.addClass(
|
||||
this.map.viewPortDiv,
|
||||
this.displayClass.replace(/ /g, "") + "Active"
|
||||
);
|
||||
}
|
||||
this.events.triggerEvent("activate");
|
||||
return true;
|
||||
},
|
||||
@@ -329,12 +319,6 @@ OpenLayers.Control = OpenLayers.Class({
|
||||
this.handler.deactivate();
|
||||
}
|
||||
this.active = false;
|
||||
if(this.map) {
|
||||
OpenLayers.Element.removeClass(
|
||||
this.map.viewPortDiv,
|
||||
this.displayClass.replace(/ /g, "") + "Active"
|
||||
);
|
||||
}
|
||||
this.events.triggerEvent("deactivate");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -9,11 +9,6 @@
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control.ArgParser
|
||||
* The ArgParser control adds location bar querystring parsing functionality
|
||||
* to an OpenLayers Map.
|
||||
* When added to a Map control, on a page load/refresh, the Map will
|
||||
* automatically take the href string and parse it for lon, lat, zoom, and
|
||||
* layers information.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Control>
|
||||
@@ -42,7 +37,6 @@ OpenLayers.Control.ArgParser = OpenLayers.Class(OpenLayers.Control, {
|
||||
* APIProperty: displayProjection
|
||||
* {<OpenLayers.Projection>} Requires proj4js support.
|
||||
* Projection used when reading the coordinates from the URL. This will
|
||||
*
|
||||
* reproject the map coordinates from the URL into the map's
|
||||
* projection.
|
||||
*
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control.Attribution
|
||||
* The attribution control adds attribution from layers to the map display.
|
||||
* It uses 'attribution' property of each layer.
|
||||
* Add attribution from layers to the map display. Uses 'attribution' property
|
||||
* of each layer.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Control>
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control.Button
|
||||
* The Button control is a very simple push-button, for use with
|
||||
* <OpenLayers.Control.Panel>.
|
||||
* A very simple button controlfor use with <OpenLayers.Control.Panel>.
|
||||
* When clicked, the function trigger() is executed.
|
||||
*
|
||||
* Inherits from:
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control.DragFeature
|
||||
* The DragFeature control moves a feature with a drag of the mouse. Create a
|
||||
* new control with the <OpenLayers.Control.DragFeature> constructor.
|
||||
* Move a feature with a drag. Create a new control with the
|
||||
* <OpenLayers.Control.DragFeature> constructor.
|
||||
*
|
||||
* Inherits From:
|
||||
* - <OpenLayers.Control>
|
||||
@@ -162,9 +162,6 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
this.feature = null;
|
||||
this.dragging = false;
|
||||
this.lastPixel = null;
|
||||
OpenLayers.Element.removeClass(
|
||||
this.map.viewPortDiv, this.displayClass + "Over"
|
||||
);
|
||||
return OpenLayers.Control.prototype.deactivate.apply(this, arguments);
|
||||
},
|
||||
|
||||
@@ -181,7 +178,8 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
this.feature = feature;
|
||||
this.handlers.drag.activate();
|
||||
this.over = true;
|
||||
OpenLayers.Element.addClass(this.map.viewPortDiv, this.displayClass + "Over");
|
||||
// TBD replace with CSS classes
|
||||
this.map.div.style.cursor = "move";
|
||||
} else {
|
||||
if(this.feature.id == feature.id) {
|
||||
this.over = true;
|
||||
@@ -222,7 +220,8 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
|
||||
/**
|
||||
* Method: upFeature
|
||||
* Called when the drag handler detects a mouse-up.
|
||||
* Called when the drag handler detects a mouse-up. Also calls the
|
||||
* optional onComplete method.
|
||||
*
|
||||
* Parameters:
|
||||
* pixel - {<OpenLayers.Pixel>} Location of the mouse event.
|
||||
@@ -230,6 +229,13 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
upFeature: function(pixel) {
|
||||
if(!this.over) {
|
||||
this.handlers.drag.deactivate();
|
||||
this.feature = null;
|
||||
// TBD replace with CSS classes
|
||||
this.map.div.style.cursor = "default";
|
||||
} else {
|
||||
// the drag handler itself resetted the cursor, so
|
||||
// set it back to "move" here
|
||||
this.map.div.style.cursor = "move";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -256,9 +262,8 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
if(!this.handlers.drag.dragging) {
|
||||
this.over = false;
|
||||
this.handlers.drag.deactivate();
|
||||
OpenLayers.Element.removeClass(
|
||||
this.map.viewPortDiv, this.displayClass + "Over"
|
||||
);
|
||||
// TBD replace with CSS classes
|
||||
this.map.div.style.cursor = "default";
|
||||
this.feature = null;
|
||||
} else {
|
||||
if(this.feature.id == feature.id) {
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control.DragPan
|
||||
* The DragPan control pans the map with a drag of the mouse.
|
||||
* DragPan control.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Control>
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control.DrawFeature
|
||||
* The DrawFeature control draws point, line or polygon features on a vector
|
||||
* layer when active.
|
||||
* Draws features on a vector layer when active.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Control>
|
||||
@@ -34,7 +33,7 @@ OpenLayers.Control.DrawFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
* Constant: EVENT_TYPES
|
||||
*
|
||||
* Supported event types:
|
||||
* featureadded - Triggered when a feature is added
|
||||
* - *featureadded* Triggered when a feature is added
|
||||
*/
|
||||
EVENT_TYPES: ["featureadded"],
|
||||
|
||||
@@ -67,31 +66,9 @@ OpenLayers.Control.DrawFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
);
|
||||
|
||||
OpenLayers.Control.prototype.initialize.apply(this, [options]);
|
||||
this.callbacks = OpenLayers.Util.extend(
|
||||
{
|
||||
done: this.drawFeature,
|
||||
modify: function(vertex, feature) {
|
||||
this.layer.events.triggerEvent(
|
||||
"sketchmodified", {vertex: vertex, feature: feature}
|
||||
);
|
||||
},
|
||||
create: function(vertex, feature) {
|
||||
this.layer.events.triggerEvent(
|
||||
"sketchstarted", {vertex: vertex, feature: feature}
|
||||
);
|
||||
}
|
||||
},
|
||||
this.callbacks
|
||||
);
|
||||
this.callbacks = OpenLayers.Util.extend({done: this.drawFeature},
|
||||
this.callbacks);
|
||||
this.layer = layer;
|
||||
var sketchStyle = this.layer.styleMap && this.layer.styleMap.styles.temporary;
|
||||
if(sketchStyle) {
|
||||
this.handlerOptions = this.handlerOptions || {};
|
||||
this.handlerOptions.layerOptions = OpenLayers.Util.applyDefaults(
|
||||
this.handlerOptions.layerOptions,
|
||||
{styleMap: new OpenLayers.StyleMap({"default": sketchStyle})}
|
||||
);
|
||||
}
|
||||
this.handler = new handler(this, this.callbacks, this.handlerOptions);
|
||||
},
|
||||
|
||||
@@ -100,15 +77,9 @@ OpenLayers.Control.DrawFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
*/
|
||||
drawFeature: function(geometry) {
|
||||
var feature = new OpenLayers.Feature.Vector(geometry);
|
||||
var proceed = this.layer.events.triggerEvent(
|
||||
"sketchcomplete", {feature: feature}
|
||||
);
|
||||
if(proceed !== false) {
|
||||
feature.state = OpenLayers.State.INSERT;
|
||||
this.layer.addFeatures([feature]);
|
||||
this.featureAdded(feature);
|
||||
this.events.triggerEvent("featureadded",{feature : feature});
|
||||
}
|
||||
this.layer.addFeatures([feature]);
|
||||
this.featureAdded(feature);
|
||||
this.events.triggerEvent("featureadded",{feature : feature});
|
||||
},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Control.DrawFeature"
|
||||
|
||||
@@ -13,9 +13,6 @@
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control.EditingToolbar
|
||||
* The EditingToolbar is a panel of 4 controls to draw polygons, lines,
|
||||
* points, or to navigate the map by panning. By default it appears in the
|
||||
* upper right corner of the map.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Control.Panel>
|
||||
@@ -42,6 +39,9 @@ OpenLayers.Control.EditingToolbar = OpenLayers.Class(
|
||||
new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'}),
|
||||
new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'})
|
||||
];
|
||||
for (var i=0, len=controls.length; i<len; i++) {
|
||||
controls[i].featureAdded = function(feature) { feature.state = OpenLayers.State.INSERT; };
|
||||
}
|
||||
this.addControls(controls);
|
||||
},
|
||||
|
||||
|
||||
@@ -1,558 +0,0 @@
|
||||
/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
|
||||
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
|
||||
* full text of the license. */
|
||||
|
||||
/**
|
||||
* @requires OpenLayers/Control.js
|
||||
* @requires OpenLayers/Handler/Click.js
|
||||
* @requires OpenLayers/Handler/Box.js
|
||||
* @requires OpenLayers/Handler/Hover.js
|
||||
* @requires OpenLayers/Filter/Spatial.js
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class: OpenLayers.Control.GetFeature
|
||||
* Gets vector features for locations underneath the mouse cursor. Can be
|
||||
* configured to act on click, hover or dragged boxes. Uses an
|
||||
* <OpenLayers.Protocol> that supports spatial filters (BBOX) to retrieve
|
||||
* features from a server and fires events that notify applications of the
|
||||
* selected features.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Control>
|
||||
*/
|
||||
OpenLayers.Control.GetFeature = OpenLayers.Class(OpenLayers.Control, {
|
||||
|
||||
/**
|
||||
* APIProperty: protocol
|
||||
* {<OpenLayers.Protocol>} Required. The protocol used for fetching
|
||||
* features.
|
||||
*/
|
||||
protocol: null,
|
||||
|
||||
/**
|
||||
* APIProperty: multipleKey
|
||||
* {String} An event modifier ('altKey' or 'shiftKey') that temporarily sets
|
||||
* the <multiple> property to true. Default is null.
|
||||
*/
|
||||
multipleKey: null,
|
||||
|
||||
/**
|
||||
* APIProperty: toggleKey
|
||||
* {String} An event modifier ('altKey' or 'shiftKey') that temporarily sets
|
||||
* the <toggle> property to true. Default is null.
|
||||
*/
|
||||
toggleKey: null,
|
||||
|
||||
/**
|
||||
* Property: modifiers
|
||||
* {Object} The event modifiers to use, according to the current event
|
||||
* being handled by this control's handlers
|
||||
*/
|
||||
modifiers: null,
|
||||
|
||||
/**
|
||||
* APIProperty: multiple
|
||||
* {Boolean} Allow selection of multiple geometries. Default is false.
|
||||
*/
|
||||
multiple: false,
|
||||
|
||||
/**
|
||||
* APIProperty: click
|
||||
* {Boolean} Use a click handler for selecting/unselecting features.
|
||||
* Default is true.
|
||||
*/
|
||||
click: true,
|
||||
|
||||
/**
|
||||
* APIProperty: clickout
|
||||
* {Boolean} Unselect features when clicking outside any feature.
|
||||
* Applies only if <click> is true. Default is true.
|
||||
*/
|
||||
clickout: true,
|
||||
|
||||
/**
|
||||
* APIProperty: toggle
|
||||
* {Boolean} Unselect a selected feature on click. Applies only if
|
||||
* <click> is true. Default is false.
|
||||
*/
|
||||
toggle: false,
|
||||
|
||||
/**
|
||||
* APIProperty: clickTolerance
|
||||
* {Integer} Tolerance for the BBOX query in pixels. This has the
|
||||
* same effect as the tolerance parameter on WMS GetFeatureInfo
|
||||
* requests. Will be ignored for box selections. Applies only if
|
||||
* <click> is true. Default is 5.
|
||||
*/
|
||||
clickTolerance: 5,
|
||||
|
||||
/**
|
||||
* APIProperty: hover
|
||||
* {Boolean} Send feature requests on mouse moves. Default is false.
|
||||
*/
|
||||
hover: false,
|
||||
|
||||
/**
|
||||
* APIProperty: box
|
||||
* {Boolean} Allow feature selection by drawing a box.
|
||||
*/
|
||||
box: false,
|
||||
|
||||
/**
|
||||
* APIProperty: maxFeatures
|
||||
* {Integer} Maximum number of features to return from a query, if
|
||||
* supported by the <protocol>. Default is 10.
|
||||
*/
|
||||
maxFeatures: 10,
|
||||
|
||||
/**
|
||||
* Property: features
|
||||
* {Object} Hash of {<OpenLayers.Feature.Vector>}, keyed by fid, holding
|
||||
* the currently selected features
|
||||
*/
|
||||
features: null,
|
||||
|
||||
/**
|
||||
* Proeprty: hoverFeature
|
||||
* {<OpenLayers.Feature.Vector>} The feature currently selected by the
|
||||
* hover handler
|
||||
*/
|
||||
hoverFeature: null,
|
||||
|
||||
/**
|
||||
* APIProperty: handlerOptions
|
||||
* {Object} Additional options for the handlers used by this control. This
|
||||
* is a hash with the keys "click", "box" and "hover".
|
||||
*/
|
||||
handlerOptions: null,
|
||||
|
||||
/**
|
||||
* Property: handlers
|
||||
* {Object} Object with references to multiple <OpenLayers.Handler>
|
||||
* instances.
|
||||
*/
|
||||
handlers: null,
|
||||
|
||||
/**
|
||||
* Property: hoverResponse
|
||||
* {<OpenLayers.Protocol.Response>} The response object associated with
|
||||
* the currently running hover request (if any).
|
||||
*/
|
||||
hoverResponse: null,
|
||||
|
||||
/**
|
||||
* Constant: EVENT_TYPES
|
||||
*
|
||||
* Supported event types:
|
||||
* beforefeatureselected - Triggered when <click> is true before a
|
||||
* feature is selected. The event object has a feature property with
|
||||
* the feature about to select
|
||||
* featureselected - Triggered when <click> is true and a feature is
|
||||
* selected. The event object has a feature property with the
|
||||
* selected feature
|
||||
* featureunselected - Triggered when <click> is true and a feature is
|
||||
* unselected. The event object has a feature property with the
|
||||
* unselected feature
|
||||
* clickout - Triggered when when <click> is true and no feature was
|
||||
* selected.
|
||||
* hoverfeature - Triggered when <hover> is true and the mouse has
|
||||
* stopped over a feature
|
||||
* outfeature - Triggered when <hover> is true and the mouse moves
|
||||
* moved away from a hover-selected feature
|
||||
*/
|
||||
EVENT_TYPES: ["featureselected", "featureunselected", "clickout",
|
||||
"beforefeatureselected", "hoverfeature", "outfeature"],
|
||||
|
||||
/**
|
||||
* Constructor: OpenLayers.Control.GetFeature
|
||||
* Create a new control for fetching remote features.
|
||||
*
|
||||
* Parameters:
|
||||
* options - {Object} A configuration object which at least has to contain
|
||||
* a <protocol> property
|
||||
*/
|
||||
initialize: function(options) {
|
||||
// concatenate events specific to vector with those from the base
|
||||
this.EVENT_TYPES =
|
||||
OpenLayers.Control.GetFeature.prototype.EVENT_TYPES.concat(
|
||||
OpenLayers.Control.prototype.EVENT_TYPES
|
||||
);
|
||||
|
||||
options.handlerOptions = options.handlerOptions || {};
|
||||
|
||||
OpenLayers.Control.prototype.initialize.apply(this, [options]);
|
||||
|
||||
this.features = {};
|
||||
|
||||
this.handlers = {};
|
||||
|
||||
if(this.click) {
|
||||
this.handlers.click = new OpenLayers.Handler.Click(this,
|
||||
{click: this.selectSingle}, this.handlerOptions.click || {})
|
||||
};
|
||||
|
||||
if(this.box) {
|
||||
this.handlers.box = new OpenLayers.Handler.Box(
|
||||
this, {done: this.selectBox},
|
||||
OpenLayers.Util.extend(this.handlerOptions.box, {
|
||||
boxDivClassName: "olHandlerBoxSelectFeature"
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
if(this.hover) {
|
||||
this.handlers.hover = new OpenLayers.Handler.Hover(
|
||||
this, {'move': this.cancelHover, 'pause': this.selectHover},
|
||||
OpenLayers.Util.extend(this.handlerOptions.hover, {
|
||||
'delay': 250
|
||||
})
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: activate
|
||||
* Activates the control.
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} The control was effectively activated.
|
||||
*/
|
||||
activate: function () {
|
||||
if (!this.active) {
|
||||
for(var i in this.handlers) {
|
||||
this.handlers[i].activate();
|
||||
}
|
||||
}
|
||||
return OpenLayers.Control.prototype.activate.apply(
|
||||
this, arguments
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: deactivate
|
||||
* Deactivates the control.
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} The control was effectively deactivated.
|
||||
*/
|
||||
deactivate: function () {
|
||||
if (this.active) {
|
||||
for(var i in this.handlers) {
|
||||
this.handlers[i].deactivate();
|
||||
}
|
||||
}
|
||||
return OpenLayers.Control.prototype.deactivate.apply(
|
||||
this, arguments
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: unselectAll
|
||||
* Unselect all selected features. To unselect all except for a single
|
||||
* feature, set the options.except property to the feature.
|
||||
*
|
||||
* Parameters:
|
||||
* options - {Object} Optional configuration object.
|
||||
*/
|
||||
unselectAll: function(options) {
|
||||
// we'll want an option to supress notification here
|
||||
var feature;
|
||||
for(var i=this.features.length-1; i>=0; --i) {
|
||||
feature = this.features[i];
|
||||
if(!options || options.except != feature) {
|
||||
this.unselect(feature);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: selectSingle
|
||||
* Called on click
|
||||
*
|
||||
* Parameters:
|
||||
* evt - {<OpenLayers.Event>}
|
||||
*/
|
||||
selectSingle: function(evt) {
|
||||
// Set the cursor to "wait" to tell the user we're working on their click.
|
||||
OpenLayers.Element.addClass(this.map.viewPortDiv, "olCursorWait");
|
||||
|
||||
var bounds = this.pixelToBounds(evt.xy);
|
||||
|
||||
this.setModifiers(evt);
|
||||
this.request(bounds, {single: true});
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: selectBox
|
||||
* Callback from the handlers.box set up when <box> selection is on
|
||||
*
|
||||
* Parameters:
|
||||
* position - {<OpenLayers.Bounds>}
|
||||
*/
|
||||
selectBox: function(position) {
|
||||
if (position instanceof OpenLayers.Bounds) {
|
||||
var minXY = this.map.getLonLatFromPixel(
|
||||
new OpenLayers.Pixel(position.left, position.bottom)
|
||||
);
|
||||
var maxXY = this.map.getLonLatFromPixel(
|
||||
new OpenLayers.Pixel(position.right, position.top)
|
||||
);
|
||||
var bounds = new OpenLayers.Bounds(
|
||||
minXY.lon, minXY.lat, maxXY.lon, maxXY.lat
|
||||
);
|
||||
|
||||
this.setModifiers(this.handlers.box.dragHandler.evt);
|
||||
this.request(bounds);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method selectHover
|
||||
* Callback from the handlers.hover set up when <hover> selection is on
|
||||
*
|
||||
* Parameters:
|
||||
* evt {Object} - event object with an xy property
|
||||
*/
|
||||
selectHover: function(evt) {
|
||||
var bounds = this.pixelToBounds(evt.xy);
|
||||
this.request(bounds, {single: true, hover: true});
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: cancelHover
|
||||
* Callback from the handlers.hover set up when <hover> selection is on
|
||||
*/
|
||||
cancelHover: function() {
|
||||
if (this.hoverResponse) {
|
||||
this.protocol.abort(this.hoverResponse);
|
||||
this.hoverResponse = null;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: request
|
||||
* Sends a GetFeature request to the WFS
|
||||
*
|
||||
* Parameters:
|
||||
* bounds - {<OpenLayers.Bounds>} bounds for the request's BBOX filter
|
||||
* options - {Object} additional options for this method.
|
||||
*
|
||||
* Supported options include:
|
||||
* single - {Boolean} A single feature should be returned.
|
||||
* Note that this will be ignored if the protocol does not
|
||||
* return the geometries of the features.
|
||||
* hover - {Boolean} Do the request for the hover handler.
|
||||
*/
|
||||
request: function(bounds, options) {
|
||||
options = options || {};
|
||||
var filter = new OpenLayers.Filter.Spatial({
|
||||
type: OpenLayers.Filter.Spatial.BBOX,
|
||||
value: bounds
|
||||
});
|
||||
|
||||
var response = this.protocol.read({
|
||||
maxFeatures: options.single == true ? this.maxFeatures : undefined,
|
||||
filter: filter,
|
||||
callback: function(result) {
|
||||
if(result.code == 1) {
|
||||
if(result.features.length) {
|
||||
if(options.single == true) {
|
||||
this.selectBestFeature(result.features,
|
||||
bounds.getCenterLonLat(), options);
|
||||
} else {
|
||||
this.select(result.features);
|
||||
}
|
||||
} else if(options.hover) {
|
||||
this.hoverSelect();
|
||||
} else {
|
||||
this.events.triggerEvent("clickout");
|
||||
if(this.clickout) {
|
||||
this.unselectAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
// Reset the cursor.
|
||||
OpenLayers.Element.removeClass(this.map.viewPortDiv, "olCursorWait");
|
||||
},
|
||||
scope: this
|
||||
});
|
||||
if(options.hover == true) {
|
||||
this.hoverResponse = response;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: selectBestFeature
|
||||
* Selects the feature from an array of features that is the best match
|
||||
* for the click position.
|
||||
*
|
||||
* Parameters:
|
||||
* features - {Array(<OpenLayers.Feature.Vector>)}
|
||||
* clickPosition - {<OpenLayers.LonLat>}
|
||||
* options - {Object} additional options for this method
|
||||
*
|
||||
* Supported options include:
|
||||
* hover - {Boolean} Do the selection for the hover handler.
|
||||
*/
|
||||
selectBestFeature: function(features, clickPosition, options) {
|
||||
options = options || {};
|
||||
if(features.length) {
|
||||
var point = new OpenLayers.Geometry.Point(clickPosition.lon,
|
||||
clickPosition.lat);
|
||||
var feature, resultFeature, dist;
|
||||
var minDist = Number.MAX_VALUE;
|
||||
for(var i=0; i<features.length; ++i) {
|
||||
feature = features[i];
|
||||
if(feature.geometry) {
|
||||
dist = point.distanceTo(feature.geometry, {edge: false});
|
||||
if(dist < minDist) {
|
||||
minDist = dist;
|
||||
resultFeature = feature;
|
||||
if(minDist == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(options.hover == true) {
|
||||
this.hoverSelect(resultFeature);
|
||||
} else {
|
||||
this.select(resultFeature || features);
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: setModifiers
|
||||
* Sets the multiple and toggle modifiers according to the current event
|
||||
*
|
||||
* Parameters:
|
||||
* evt {<OpenLayers.Event>}
|
||||
*/
|
||||
setModifiers: function(evt) {
|
||||
this.modifiers = {
|
||||
multiple: this.multiple || (this.multipleKey && evt[this.multipleKey]),
|
||||
toggle: this.toggle || (this.toggleKey && evt[this.toggleKey])
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: select
|
||||
* Add feature to the hash of selected features and trigger the
|
||||
* featureselected event.
|
||||
*
|
||||
* Parameters:
|
||||
* features - {<OpenLayers.Feature.Vector>} or an array of features
|
||||
*/
|
||||
select: function(features) {
|
||||
if(!this.modifiers.multiple && !this.modifiers.toggle) {
|
||||
this.unselectAll();
|
||||
}
|
||||
if(!(features instanceof Array)) {
|
||||
features = [features];
|
||||
}
|
||||
|
||||
var feature;
|
||||
for(var i=0, len=features.length; i<len; ++i) {
|
||||
feature = features[i];
|
||||
if(this.features[feature.fid || feature.id]) {
|
||||
if(this.modifiers.toggle) {
|
||||
this.unselect(this.features[feature.fid || feature.id]);
|
||||
}
|
||||
} else {
|
||||
cont = this.events.triggerEvent("beforefeatureselected", {
|
||||
feature: feature
|
||||
});
|
||||
if(cont !== false) {
|
||||
this.features[feature.fid || feature.id] = feature;
|
||||
|
||||
this.events.triggerEvent("featureselected",
|
||||
{feature: feature});
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: hoverSelect
|
||||
* Sets/unsets the <hoverFeature>
|
||||
*
|
||||
* Parameters:
|
||||
* feature - {<OpenLayers.Feature.Vector>} the feature to hover-select.
|
||||
* If none is provided, the current <hoverFeature> will be nulled and
|
||||
* the outfeature event will be triggered.
|
||||
*/
|
||||
hoverSelect: function(feature) {
|
||||
var fid = feature ? feature.fid || feature.id : null;
|
||||
var hfid = this.hoverFeature ?
|
||||
this.hoverFeature.fid || this.hoverFeature.id : null;
|
||||
|
||||
if(hfid && hfid != fid) {
|
||||
this.events.triggerEvent("outfeature",
|
||||
{feature: this.hoverFeature});
|
||||
this.hoverFeature = null;
|
||||
}
|
||||
if(fid && fid != hfid) {
|
||||
this.events.triggerEvent("hoverfeature", {feature: feature});
|
||||
this.hoverFeature = feature;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: unselect
|
||||
* Remove feature from the hash of selected features and trigger the
|
||||
* featureunselected event.
|
||||
*
|
||||
* Parameters:
|
||||
* feature - {<OpenLayers.Feature.Vector>}
|
||||
*/
|
||||
unselect: function(feature) {
|
||||
delete this.features[feature.fid || feature.id];
|
||||
this.events.triggerEvent("featureunselected", {feature: feature});
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: unselectAll
|
||||
* Unselect all selected features.
|
||||
*/
|
||||
unselectAll: function() {
|
||||
// we'll want an option to supress notification here
|
||||
for(var fid in this.features) {
|
||||
this.unselect(this.features[fid]);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: setMap
|
||||
* Set the map property for the control.
|
||||
*
|
||||
* Parameters:
|
||||
* map - {<OpenLayers.Map>}
|
||||
*/
|
||||
setMap: function(map) {
|
||||
for(var i in this.handlers) {
|
||||
this.handlers[i].setMap(map);
|
||||
}
|
||||
OpenLayers.Control.prototype.setMap.apply(this, arguments);
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: pixelToBounds
|
||||
* Takes a pixel as argument and creates bounds after adding the
|
||||
* <clickTolerance>.
|
||||
*
|
||||
* Parameters:
|
||||
* pixel - {<OpenLayers.Pixel>}
|
||||
*/
|
||||
pixelToBounds: function(pixel) {
|
||||
var llPx = pixel.add(-this.clickTolerance/2, this.clickTolerance/2);
|
||||
var urPx = pixel.add(this.clickTolerance/2, -this.clickTolerance/2);
|
||||
var ll = this.map.getLonLatFromPixel(llPx);
|
||||
var ur = this.map.getLonLatFromPixel(urPx);
|
||||
return new OpenLayers.Bounds(ll.lon, ll.lat, ur.lon, ur.lat);
|
||||
},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Control.GetFeature"
|
||||
});
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user