Compare commits

..

3 Commits

Author SHA1 Message Date
Schuyler Erle
db17be34f6 Change repo license to release license.
git-svn-id: http://svn.openlayers.org/tags/openlayers/release-2.4-rc1@3001 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-04-04 04:41:04 +00:00
Schuyler Erle
fd235bc091 Tag release 2.4-rc1. Also, revision 3000! Score!
git-svn-id: http://svn.openlayers.org/tags/openlayers/release-2.4-rc1@3000 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-04-04 04:29:01 +00:00
Schuyler Erle
b6fb16153c Branch for 2.4 release.
git-svn-id: http://svn.openlayers.org/branches/openlayers/2.4@2999 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-04-04 03:05:55 +00:00
439 changed files with 40235 additions and 16500 deletions

1
.gitignore vendored
View File

@@ -1 +0,0 @@
/bin/plovr.jar

View File

@@ -1,49 +0,0 @@
{
"id": "api",
"output-file": "api.js",
"output-wrapper": [
"// Copyright 2012 ...\n",
"(function(){%output%})();"
],
"inputs": "src/ol.export.js",
"paths": [
"src"
],
"define": {
// "goog.dom.ASSUME_STANDARDS_MODE": true,
// "goog.userAgent.ASSUME_MOBILE_WEBKIT": true,
"goog.DEBUG": false,
"ol.API" : true
},
"mode": "ADVANCED",
"level": "VERBOSE",
// "pretty-print": true,
// "debug": true,
// "experimental-compiler-options": {
// "generateExports": true
// },
"checks": {
// acceptable values are "ERROR", "WARNING", and "OFF"
"accessControls": "WARNING",
"visibility": "WARNING",
"checkTypes": "WARNING",
"checkRegExp": "WARNING",
"checkVars": "WARNING",
"deprecated": "WARNING",
"fileoverviewTags": "WARNING",
"invalidCasts": "WARNING",
"missingProperties": "WARNING",
"nonStandardJsDocs": "WARNING",
"undefinedVars": "WARNING"
},
"jsdoc-html-output-path": "jsdoc"
}

127
art/arrows.svg Normal file
View File

@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.000000px"
height="18.000000px"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.42"
sodipodi:docbase="/Users/phil/Documents/work/metacarta/2svn.openlayers.net/follower/code/b-edits-1/openlayers/assets/ui_elements"
sodipodi:docname="pan_icons.svg"
inkscape:export-filename="/Users/phil/Documents/work/metacarta/2svn.openlayers.net/follower/code/b-edits-1/openlayers/assets/ui_elements/zoom-minus-mini.png"
inkscape:export-xdpi="90.000000"
inkscape:export-ydpi="90.000000">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.0000000"
inkscape:cx="9.0000000"
inkscape:cy="9.0000000"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:window-width="1226"
inkscape:window-height="800"
inkscape:window-x="42"
inkscape:window-y="22" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="background"
inkscape:groupmode="layer"
id="layer1">
<g
id="g2110">
<path
transform="matrix(0.000000,-1.003160,1.003160,0.000000,-2.844000e-2,18.02844)"
d="M 17.971654 9.0000000 A 8.9716539 8.9716539 0 1 1 0.028346062,9.0000000 A 8.9716539 8.9716539 0 1 1 17.971654 9.0000000 z"
sodipodi:ry="8.9716539"
sodipodi:rx="8.9716539"
sodipodi:cy="9.0000000"
sodipodi:cx="9.0000000"
id="path2059"
style="fill:#00008b;fill-opacity:1.0000000;stroke:none;stroke-width:39.984146;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
sodipodi:type="arc" />
<rect
transform="matrix(0.000000,-1.000000,1.000000,0.000000,0.000000,0.000000)"
y="4.3599998e-06"
x="-9.0000048"
height="18.000000"
width="9.0000000"
id="rect2061"
style="fill:#00008b;fill-opacity:1.0000000;stroke:none;stroke-width:39.984146;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="zoom"
style="display:inline">
<text
xml:space="preserve"
style="font-size:18.000000px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1.0000000;font-family:Helvetica"
x="3.7485352"
y="-3.4077148"
id="text2114"
sodipodi:linespacing="125.00000%"
transform="scale(1.000000,-1.000000)"><tspan
sodipodi:role="line"
id="tspan2118"
x="3.7485352"
y="-3.4077148"></tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="overlay"
style="display:none">
<path
style="font-size:12.000000px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Verdana"
d="M 2.9678210,9.0332227 C 2.9678314,9.5015070 3.1752531,9.8938504 3.5900866,10.210254 C 3.6463464,10.254553 3.9451742,10.453889 4.4865710,10.808262 L 8.1568835,13.247754 C 8.2693886,13.323691 8.4240759,13.393300 8.6209460,13.456582 C 8.8107943,13.519862 9.0041535,13.551503 9.2010240,13.551504 C 9.5736843,13.551503 9.8936056,13.431269 10.160789,13.190801 C 10.427980,12.950332 10.561574,12.659238 10.561572,12.317520 C 10.561574,11.861896 10.322511,11.488536 9.8443836,11.197442 L 8.5998522,10.428575 L 14.548408,10.428575 C 15.026535,10.428577 15.406221,10.298849 15.687470,10.039395 C 15.968721,9.7799443 16.109345,9.4318977 16.109345,8.9952540 C 16.109345,8.5396330 15.961690,8.1915865 15.666377,7.9511133 C 15.364034,7.7106494 14.980831,7.5904152 14.516767,7.5904102 L 8.6314928,7.5904102 L 9.9920390,6.7076368 C 10.160793,6.5937365 10.290871,6.4481897 10.382274,6.2709962 C 10.466652,6.0874870 10.508840,5.8913153 10.508837,5.6824805 C 10.508840,5.3281127 10.378761,5.0338552 10.118602,4.7997070 C 9.8584498,4.5655745 9.5279814,4.4485043 9.1271961,4.4484962 C 8.7615757,4.4485043 8.4029823,4.5624104 8.0514147,4.7902149 L 3.9697741,7.5239649 C 3.6393151,7.7454540 3.4002529,7.9542820 3.2525866,8.1504493 C 3.0627532,8.3972503 2.9678314,8.6756875 2.9678210,8.9857618 L 2.9678210,9.0332227"
id="text2082"
sodipodi:nodetypes="csccsssscccssscccssssccscc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="pan triangle"
style="display:none">
<path
sodipodi:type="star"
style="fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:39.984146;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
id="path2107"
sodipodi:sides="3"
sodipodi:cx="6.8031497"
sodipodi:cy="5.1874018"
sodipodi:r1="5.0880113"
sodipodi:r2="2.5440056"
sodipodi:arg1="1.0471976"
sodipodi:arg2="2.0943951"
inkscape:flatsided="false"
inkscape:rounded="0.0000000"
inkscape:randomized="0.0000000"
d="M 9.3471551,9.5937489 L 5.5311469,7.3905753 L 1.7151384,5.1874015 L 5.5311469,2.9842283 L 9.3471555,0.78105489 L 9.3471553,5.1874018 L 9.3471551,9.5937489 z "
transform="matrix(0.000000,-1.331000,1.331000,0.000000,2.038879,16.92102)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18.000000px"
height="18.000000px"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
sodipodi:docbase="/home/sderle/projects/openlayers/layerswitcher/art"
sodipodi:docname="layer-switcher-maximize.svg"
inkscape:export-filename="/Users/phil/Documents/work/metacarta/2svn.openlayers.net/follower/code/b-edits-1/openlayers/assets/ui_elements/zoom-minus-mini.png"
inkscape:export-xdpi="90.000000"
inkscape:export-ydpi="90.000000">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="16"
inkscape:cx="9"
inkscape:cy="9"
inkscape:document-units="px"
inkscape:current-layer="layer4"
inkscape:window-width="1226"
inkscape:window-height="800"
inkscape:window-x="42"
inkscape:window-y="25" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="background"
inkscape:groupmode="layer"
id="layer1">
<g
id="g2110"
transform="matrix(-7.849624e-17,1,-1,-7.849624e-17,18,0)">
<path
transform="matrix(0,-1.00316,1.00316,0,-2.844e-2,18.02844)"
d="M 17.971654 9 A 8.9716539 8.9716539 0 1 1 0.028346062,9 A 8.9716539 8.9716539 0 1 1 17.971654 9 z"
sodipodi:ry="8.9716539"
sodipodi:rx="8.9716539"
sodipodi:cy="9"
sodipodi:cx="9"
id="path2059"
style="fill:#00008b;fill-opacity:1;stroke:none;stroke-width:39.98414612;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:type="arc" />
<rect
transform="matrix(0,-1,1,0,0,0)"
y="4.3599998e-06"
x="-9.0000048"
height="18"
width="9"
id="rect2061"
style="fill:#00008b;fill-opacity:1;stroke:none;stroke-width:39.98414612;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="zoom"
style="display:inline">
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;display:inline;font-family:Helvetica"
x="1.5214844"
y="-3.2949219"
id="text2114"
sodipodi:linespacing="125%"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan2118"
x="1.5214844"
y="-3.2949219">+</tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="overlay"
style="display:none">
<path
style="font-size:12.000000px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Verdana"
d="M 2.9678210,9.0332227 C 2.9678314,9.5015070 3.1752531,9.8938504 3.5900866,10.210254 C 3.6463464,10.254553 3.9451742,10.453889 4.4865710,10.808262 L 8.1568835,13.247754 C 8.2693886,13.323691 8.4240759,13.393300 8.6209460,13.456582 C 8.8107943,13.519862 9.0041535,13.551503 9.2010240,13.551504 C 9.5736843,13.551503 9.8936056,13.431269 10.160789,13.190801 C 10.427980,12.950332 10.561574,12.659238 10.561572,12.317520 C 10.561574,11.861896 10.322511,11.488536 9.8443836,11.197442 L 8.5998522,10.428575 L 14.548408,10.428575 C 15.026535,10.428577 15.406221,10.298849 15.687470,10.039395 C 15.968721,9.7799443 16.109345,9.4318977 16.109345,8.9952540 C 16.109345,8.5396330 15.961690,8.1915865 15.666377,7.9511133 C 15.364034,7.7106494 14.980831,7.5904152 14.516767,7.5904102 L 8.6314928,7.5904102 L 9.9920390,6.7076368 C 10.160793,6.5937365 10.290871,6.4481897 10.382274,6.2709962 C 10.466652,6.0874870 10.508840,5.8913153 10.508837,5.6824805 C 10.508840,5.3281127 10.378761,5.0338552 10.118602,4.7997070 C 9.8584498,4.5655745 9.5279814,4.4485043 9.1271961,4.4484962 C 8.7615757,4.4485043 8.4029823,4.5624104 8.0514147,4.7902149 L 3.9697741,7.5239649 C 3.6393151,7.7454540 3.4002529,7.9542820 3.2525866,8.1504493 C 3.0627532,8.3972503 2.9678314,8.6756875 2.9678210,8.9857618 L 2.9678210,9.0332227"
id="text2082"
sodipodi:nodetypes="csccsssscccssscccssssccscc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="pan triangle"
style="display:none">
<path
sodipodi:type="star"
style="fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:39.984146;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
id="path2107"
sodipodi:sides="3"
sodipodi:cx="6.8031497"
sodipodi:cy="5.1874018"
sodipodi:r1="5.0880113"
sodipodi:r2="2.5440056"
sodipodi:arg1="1.0471976"
sodipodi:arg2="2.0943951"
inkscape:flatsided="false"
inkscape:rounded="0.0000000"
inkscape:randomized="0.0000000"
d="M 9.3471551,9.5937489 L 5.5311469,7.3905753 L 1.7151384,5.1874015 L 5.5311469,2.9842283 L 9.3471555,0.78105489 L 9.3471553,5.1874018 L 9.3471551,9.5937489 z "
transform="matrix(0.000000,-1.331000,1.331000,0.000000,2.038879,16.92102)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="90.000000"
inkscape:export-xdpi="90.000000"
inkscape:export-filename="/home/sderle/projects/openlayers/layerswitcher/img/layer-switcher-minimize.png"
sodipodi:docname="layer-switcher-minimize.svg"
sodipodi:docbase="/home/sderle/projects/openlayers/layerswitcher/art"
inkscape:version="0.43"
sodipodi:version="0.32"
id="svg2"
height="18.000000px"
width="18.000000px">
<defs
id="defs4" />
<sodipodi:namedview
inkscape:window-y="26"
inkscape:window-x="42"
inkscape:window-height="800"
inkscape:window-width="1226"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="9.3025513"
inkscape:cx="9"
inkscape:zoom="16"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="display:inline"
id="layer1"
inkscape:groupmode="layer"
inkscape:label="background">
<rect
style="fill:#00008b;fill-opacity:0;stroke:none;stroke-width:39.984146;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
id="rect2061"
width="18.014498"
height="18.000000"
x="-18.014502"
y="4.3599998e-06"
transform="matrix(0.000000,-1.000000,1.000000,0.000000,0.000000,0.000000)"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
inkscape:export-filename="/home/sderle/projects/openlayers/layerswitcher/art/layer-switcher-minimize.png" />
</g>
<g
inkscape:label="graticule"
id="layer5"
inkscape:groupmode="layer">
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;display:inline;font-family:Helvetica"
x="5.2802601"
y="-3.8032362"
id="text1432"
sodipodi:linespacing="125%"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1434"
x="5.2802601"
y="-3.8032362">-</tspan></text>
<rect
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99699599px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
id="rect1438"
width="13.003004"
height="13.002999"
x="2.498498"
y="2.4984975" />
</g>
<g
style="display:none"
inkscape:label="zoom"
id="layer4"
inkscape:groupmode="layer">
<text
transform="scale(1.000000,-1.000000)"
sodipodi:linespacing="125.00000%"
id="text2114"
y="-3.4077148"
x="3.7485352"
style="font-size:18.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1.0000000;font-family:Helvetica;text-anchor:start;writing-mode:lr-tb"
xml:space="preserve"><tspan
y="-3.4077148"
x="3.7485352"
id="tspan2118"
sodipodi:role="line"></tspan></text>
</g>
<g
style="display:none"
inkscape:label="overlay"
id="layer2"
inkscape:groupmode="layer">
<path
sodipodi:nodetypes="csccsssscccssscccssssccscc"
id="text2082"
d="M 2.9678210,9.0332227 C 2.9678314,9.5015070 3.1752531,9.8938504 3.5900866,10.210254 C 3.6463464,10.254553 3.9451742,10.453889 4.4865710,10.808262 L 8.1568835,13.247754 C 8.2693886,13.323691 8.4240759,13.393300 8.6209460,13.456582 C 8.8107943,13.519862 9.0041535,13.551503 9.2010240,13.551504 C 9.5736843,13.551503 9.8936056,13.431269 10.160789,13.190801 C 10.427980,12.950332 10.561574,12.659238 10.561572,12.317520 C 10.561574,11.861896 10.322511,11.488536 9.8443836,11.197442 L 8.5998522,10.428575 L 14.548408,10.428575 C 15.026535,10.428577 15.406221,10.298849 15.687470,10.039395 C 15.968721,9.7799443 16.109345,9.4318977 16.109345,8.9952540 C 16.109345,8.5396330 15.961690,8.1915865 15.666377,7.9511133 C 15.364034,7.7106494 14.980831,7.5904152 14.516767,7.5904102 L 8.6314928,7.5904102 L 9.9920390,6.7076368 C 10.160793,6.5937365 10.290871,6.4481897 10.382274,6.2709962 C 10.466652,6.0874870 10.508840,5.8913153 10.508837,5.6824805 C 10.508840,5.3281127 10.378761,5.0338552 10.118602,4.7997070 C 9.8584498,4.5655745 9.5279814,4.4485043 9.1271961,4.4484962 C 8.7615757,4.4485043 8.4029823,4.5624104 8.0514147,4.7902149 L 3.9697741,7.5239649 C 3.6393151,7.7454540 3.4002529,7.9542820 3.2525866,8.1504493 C 3.0627532,8.3972503 2.9678314,8.6756875 2.9678210,8.9857618 L 2.9678210,9.0332227"
style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Verdana;text-anchor:start;writing-mode:lr-tb" />
</g>
<g
style="display:none"
inkscape:label="pan triangle"
id="layer3"
inkscape:groupmode="layer">
<path
transform="matrix(0.000000,-1.331000,1.331000,0.000000,2.038879,16.92102)"
d="M 9.3471551,9.5937489 L 5.5311469,7.3905753 L 1.7151384,5.1874015 L 5.5311469,2.9842283 L 9.3471555,0.78105489 L 9.3471553,5.1874018 L 9.3471551,9.5937489 z "
inkscape:randomized="0.0000000"
inkscape:rounded="0.0000000"
inkscape:flatsided="false"
sodipodi:arg2="2.0943951"
sodipodi:arg1="1.0471976"
sodipodi:r2="2.5440056"
sodipodi:r1="5.0880113"
sodipodi:cy="5.1874018"
sodipodi:cx="6.8031497"
sodipodi:sides="3"
id="path2107"
style="fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:39.984146;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
sodipodi:type="star" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

25
art/marker.svg Normal file
View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
]>
<svg version="1.1" id="Layer_1" xmlns:i="&ns_ai;"
xmlns="&ns_svg;" width="20.5" height="24.5" viewBox="0 0 20.5 24.5"
overflow="visible" enable-background="new 0 0 20.5 24.5" xml:space="preserve">
<g i:extraneous="self">
<rect x="0.25" y="0.25" opacity="0" stroke="#000000" stroke-width="1" width="20" height="24"/>
<g id="XMLID_2_">
<g>
<polygon fill="#FF0000" points="10.12,0.6 19.93,7.71 10.06,24.03 0.6,7.58 "/>
</g>
<g>
<polyline fill="none" stroke="#000000" stroke-width="1" points="9.98,24.16 10.06,24.03 19.93,7.71 20.06,7.49 "/>
<polyline fill="none" stroke="#000000" stroke-width="1" points="10.13,24.16 10.06,24.03 0.6,7.58 0.5,7.41 "/>
<polyline fill="none" stroke="#000000" stroke-width="1" points="0.41,7.72 0.6,7.58 10.12,0.6 10.29,0.47 "/>
<polyline fill="none" stroke="#000000" stroke-width="1" points="9.94,0.47 10.12,0.6 19.93,7.71 20.06,7.8 "/>
</g>
</g>
<ellipse stroke="#000000" stroke-width="1" cx="10.125" cy="9.25" rx="1.5" ry="1.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="28.375" height="28" viewBox="0 0 28.375 28"
overflow="visible" enable-background="new 0 0 28.375 28" xml:space="preserve">
<g i:extraneous="self">
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M27.875,1.375"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M0,1.375"/>
<path fill="none" stroke="#FFFFFF" d="M0,27.475"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M1,27.645"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M1,0.544"/>
<line fill="none" stroke="#00008B" x1="0.875" y1="27.5" x2="27.875" y2="27.475"/>
<rect x="0.875" y="1.045" fill="#00008B" width="27.125" height="26"/>
<line fill="none" stroke="#00008B" x1="27.875" y1="26.925" x2="27.875" y2="0.925"/>
<line fill="none" stroke="#FFFFFF" x1="1.375" y1="0.5" x2="27.375" y2="0.5"/>
<line fill="none" stroke="#FFFFFF" x1="0.875" y1="1" x2="0.875" y2="27"/>
<rect x="5.252" y="11.157" transform="matrix(0.7933 -0.6088 0.6088 0.7933 -5.1621 12.1086)" fill="#FFBF00" width="20" height="5"/>
<line fill="#FFBF00" stroke="#000000" x1="8.376" y1="15.783" x2="10.717" y2="18.766"/>
<line fill="#FFBF00" stroke="#000000" x1="11.946" y1="13.043" x2="14.288" y2="16.027"/>
<line fill="#FFBF00" stroke="#000000" x1="15.342" y1="10.437" x2="17.684" y2="13.42"/>
<line fill="#FFBF00" stroke="#000000" x1="18.69" y1="7.869" x2="21.03" y2="10.852"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="28.375" height="28" viewBox="0 0 28.375 28"
overflow="visible" enable-background="new 0 0 28.375 28" xml:space="preserve">
<g i:extraneous="self">
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M27.875,1.375"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M0,1.375"/>
<path fill="none" stroke="#FFFFFF" d="M0,27.475"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M1,27.645"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M1,0.544"/>
<line fill="none" stroke="#FFFFFF" x1="0.875" y1="27.5" x2="27.875" y2="27.475"/>
<rect x="0.875" y="1.045" fill="#ADD8E6" width="27.125" height="26"/>
<line fill="none" stroke="#FFFFFF" x1="27.875" y1="26.925" x2="27.875" y2="0.925"/>
<line fill="none" stroke="#00008B" x1="1.375" y1="0.5" x2="27.375" y2="0.5"/>
<line fill="none" stroke="#00008B" x1="0.875" y1="1" x2="0.875" y2="27"/>
<rect x="4.252" y="12.157" transform="matrix(0.7933 -0.6088 0.6088 0.7933 -5.9776 11.7065)" fill="#FFBF00" width="20" height="5"/>
<line fill="#FFBF00" stroke="#000000" x1="7.376" y1="16.783" x2="9.717" y2="19.766"/>
<line fill="#FFBF00" stroke="#000000" x1="10.946" y1="14.043" x2="13.288" y2="17.027"/>
<line fill="#FFBF00" stroke="#000000" x1="14.342" y1="11.437" x2="16.684" y2="14.42"/>
<line fill="#FFBF00" stroke="#000000" x1="17.69" y1="8.869" x2="20.03" y2="11.852"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

44
art/panning-hand-off.svg Normal file
View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="28.375" height="28" viewBox="0 0 28.375 28"
overflow="visible" enable-background="new 0 0 28.375 28" xml:space="preserve">
<g i:extraneous="self">
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M27.875,1.375"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M0,1.375"/>
<path fill="none" stroke="#FFFFFF" d="M0,27.475"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M1,27.645"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M1,0.544"/>
<line fill="none" stroke="#00008B" x1="0.875" y1="27.5" x2="27.875" y2="27.475"/>
<rect x="0.875" y="1.045" fill="#00008B" width="27.125" height="26"/>
<line fill="none" stroke="#00008B" x1="27.875" y1="26.925" x2="27.875" y2="0.925"/>
<line fill="none" stroke="#FFFFFF" x1="1.375" y1="0.5" x2="27.375" y2="0.5"/>
<line fill="none" stroke="#FFFFFF" x1="0.875" y1="1" x2="0.875" y2="27"/>
<path fill="#FFFFFF" stroke="#000000" d="M9.458,22.458c-0.473-0.168-1.02-1.269-1.363-1.695
c-0.479-0.595-0.894-1.245-1.377-1.829c-0.733-0.887-1.356-1.729-1.854-2.764c-0.375-0.782-0.884-1.997-0.005-2.648
c1.036-0.767,2.095-0.162,2.934,0.479c0.844,0.646,1.729,1.18,2.526,1.869c-0.372-0.305-0.548-0.986-0.778-1.421
c-0.253-0.477-0.565-0.906-0.822-1.375c-0.359-0.657-0.767-1.201-1.21-1.823c-0.544-0.763-1.051-1.74-0.925-2.709
c0.133-1.025,0.972-1.527,1.924-1.207c1.202,0.405,1.969,1.692,2.627,2.698c0.636,0.971,1.201,2.159,1.938,3.042
c-0.222-0.209-0.148-0.508-0.155-0.782c-0.01-0.37-0.097-0.626-0.219-0.967c-0.162-0.455-0.219-0.972-0.24-1.45
c-0.034-0.776-0.25-1.465-0.25-2.247c0-0.988-0.14-1.963,0.71-2.631c0.666-0.523,1.649-0.764,2.381-0.248
c1.385,0.976,1.057,2.999,1.209,4.458c0.079,0.759,0.165,1.489,0.2,2.263c0.022,0.496,0.209,1.067,0.168,1.558
c-0.146-0.269-0.113-0.749-0.127-1.057c-0.022-0.502-0.041-0.982-0.115-1.47c-0.114-0.743-0.188-1.564-0.25-2.324
c-0.152-1.877,2.054-3.17,3.301-1.469c0.884,1.206,0.773,2.643,0.773,4.085c0,0.698-0.034,1.251-0.22,1.91
c-0.13,0.459-0.293,1.222-0.239,1.638c0-0.902,0.334-1.697,0.334-2.588c0-0.678-0.272-2.099,0.581-2.334
c1.065-0.294,2.008,0.875,2.428,1.66c0.458,0.855,0.555,1.901,0.409,2.882c-0.318,2.154-0.845,4.227-2.096,6.072
c-0.268,0.396-0.485,0.838-0.79,1.22c-0.361,0.452-0.923,0.772-1.416,1.071c-0.381,0.232-0.764,0.53-1.176,0.604
c-0.822,0.149-1.725,0.157-2.565,0.157c-1.29,0-2.564-0.068-3.832-0.251c-0.799-0.115-2.12,0.153-2.668-0.54"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

44
art/panning-hand-on.svg Normal file
View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg version="1.1" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="28.375" height="28" viewBox="0 0 28.375 28"
overflow="visible" enable-background="new 0 0 28.375 28" xml:space="preserve">
<g i:extraneous="self">
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M27.875,1.375"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M0,1.375"/>
<path fill="none" stroke="#FFFFFF" d="M0,27.475"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M1,27.645"/>
<path fill="none" stroke="#00008B" stroke-width="1.5" d="M1,0.544"/>
<line fill="none" stroke="#FFFFFF" x1="0.875" y1="27.5" x2="27.875" y2="27.475"/>
<rect x="0.875" y="1.045" fill="#ADD8E6" width="27.125" height="26"/>
<line fill="none" stroke="#FFFFFF" x1="27.875" y1="26.925" x2="27.875" y2="0.925"/>
<line fill="none" stroke="#00008B" x1="1.375" y1="0.5" x2="27.375" y2="0.5"/>
<line fill="none" stroke="#00008B" x1="0.875" y1="1" x2="0.875" y2="27"/>
<path fill="#FFFFFF" stroke="#000000" d="M8.458,23.458c-0.473-0.168-1.02-1.269-1.363-1.695
c-0.479-0.595-0.894-1.245-1.377-1.829c-0.733-0.887-1.356-1.729-1.854-2.764c-0.375-0.782-0.884-1.997-0.005-2.648
c1.036-0.767,2.095-0.161,2.934,0.479c0.844,0.646,1.729,1.18,2.526,1.869c-0.372-0.305-0.548-0.986-0.778-1.421
c-0.253-0.477-0.565-0.906-0.822-1.375c-0.359-0.657-0.767-1.201-1.21-1.823c-0.544-0.763-1.051-1.74-0.925-2.709
c0.133-1.025,0.972-1.527,1.924-1.207c1.202,0.405,1.969,1.692,2.627,2.698c0.636,0.971,1.201,2.159,1.938,3.042
c-0.222-0.21-0.148-0.509-0.155-0.783c-0.01-0.37-0.097-0.626-0.219-0.967c-0.162-0.455-0.219-0.972-0.24-1.45
c-0.034-0.776-0.25-1.465-0.25-2.247c0-0.988-0.14-1.963,0.71-2.631c0.666-0.523,1.649-0.764,2.381-0.248
c1.385,0.976,1.057,2.999,1.209,4.458c0.079,0.759,0.165,1.489,0.2,2.263c0.022,0.496,0.209,1.068,0.168,1.558
c-0.146-0.27-0.113-0.75-0.127-1.058c-0.022-0.502-0.041-0.982-0.115-1.47c-0.114-0.743-0.188-1.564-0.25-2.324
c-0.152-1.877,2.054-3.17,3.301-1.469c0.884,1.206,0.773,2.643,0.773,4.085c0,0.698-0.034,1.251-0.22,1.91
c-0.13,0.459-0.293,1.222-0.239,1.639c0-0.902,0.334-1.697,0.334-2.589c0-0.678-0.272-2.099,0.581-2.334
c1.065-0.294,2.008,0.875,2.428,1.66c0.458,0.855,0.555,1.901,0.409,2.883c-0.318,2.153-0.845,4.227-2.096,6.071
c-0.268,0.396-0.485,0.838-0.79,1.22c-0.361,0.452-0.923,0.772-1.416,1.071c-0.381,0.232-0.764,0.53-1.176,0.604
c-0.822,0.149-1.725,0.157-2.565,0.157c-1.29,0-2.564-0.068-3.832-0.251c-0.799-0.115-2.12,0.153-2.668-0.54"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

71
art/slider.svg Normal file
View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.41.1"
sodipodi:docbase="/afs/metacarta.com/user/sderle/public_html/ol.zoombar/art"
sodipodi:docname="slider.svg"
inkscape:export-filename="/afs/metacarta.com/user/sderle/public_html/ol.zoombar/img/slider.png"
inkscape:export-xdpi="90.000000"
inkscape:export-ydpi="90.000000">
<defs
id="defs3" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="39.870978"
inkscape:cx="140.00732"
inkscape:cy="695.49796"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1010"
inkscape:window-height="538"
inkscape:window-x="20"
inkscape:window-y="107" />
<metadata
id="metadata4">
<rdf:RDF
id="RDF5">
<cc:Work
rdf:about=""
id="Work6">
<dc:format
id="format7">image/svg+xml</dc:format>
<dc:type
id="type9"
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#00008b;fill-opacity:1.0000000;stroke:#000080;stroke-width:4.9999957;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
id="rect1291"
x="132.50000"
y="354.86218"
width="15.014628"
height="4.0040474" />
<path
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
d="M 134.08880,356.89603 L 146.00000,356.87002"
id="path2052" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

193
art/zoom-world.svg Normal file
View File

@@ -0,0 +1,193 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="90.000000"
inkscape:export-xdpi="90.000000"
inkscape:export-filename="/Users/phil/Documents/work/metacarta/2svn.openlayers.net/follower/code/b-edits-1/openlayers/assets/ui_elements/zoom-minus-mini.png"
sodipodi:docname="zoom-world.svg"
sodipodi:docbase="/afs/metacarta.com/user/sderle/OL/openlayers/assets/ui_elements"
inkscape:version="0.41.1"
sodipodi:version="0.32"
id="svg2"
height="18.000000px"
width="18.000000px">
<defs
id="defs4" />
<sodipodi:namedview
inkscape:window-y="26"
inkscape:window-x="42"
inkscape:window-height="800"
inkscape:window-width="1226"
inkscape:current-layer="layer5"
inkscape:document-units="px"
inkscape:cy="9.3025513"
inkscape:cx="9.0000000"
inkscape:zoom="1.0000000"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata7">
<rdf:RDF
id="RDF1295">
<cc:Work
id="Work1297"
rdf:about="">
<dc:format
id="format1299">image/svg+xml</dc:format>
<dc:type
id="type1301"
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
style="display:inline"
id="layer1"
inkscape:groupmode="layer"
inkscape:label="background">
<rect
style="fill:#00008b;fill-opacity:1.0000000;stroke:none;stroke-width:39.984146;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
id="rect2061"
width="18.014498"
height="18.000000"
x="-18.014502"
y="4.3599998e-06"
transform="matrix(0.000000,-1.000000,1.000000,0.000000,0.000000,0.000000)" />
</g>
<g
inkscape:label="graticule"
id="layer5"
inkscape:groupmode="layer">
<g
transform="translate(0.000000,-4.419417e-2)"
id="g2876">
<path
transform="matrix(1.155321,0.000000,0.000000,1.155321,-2.292065,-1.751761)"
d="M 16.869573 9.3188362 A 7.0579743 7.0579743 0 1 1 2.7536244,9.3188362 A 7.0579743 7.0579743 0 1 1 16.869573 9.3188362 z"
sodipodi:ry="7.0579743"
sodipodi:rx="7.0579743"
sodipodi:cy="9.3188362"
sodipodi:cx="9.8115988"
id="path1321"
style="fill:none;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
sodipodi:type="arc" />
<path
sodipodi:nodetypes="cc"
id="path2086"
d="M 8.1145142,1.1289949 C 15.315267,9.5238831 8.3963197,17.101449 8.3963197,17.057255"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="cc"
id="path2846"
d="M 11.588885,1.3666059 C 18.922222,9.5405232 11.605526,16.764536 11.605526,16.764536"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="cc"
id="path2848"
d="M 5.2258471,2.0593951 C 11.080923,9.7405585 5.3432210,16.278941 5.3432210,16.278941"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="cc"
id="path2850"
d="M 2.7388198,3.7571959 C 6.3686281,9.1817837 2.9127331,14.361601 2.9127331,14.361601"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
</g>
<g
transform="matrix(-6.269315e-2,0.998033,-0.998033,-6.269315e-2,18.62352,0.612232)"
id="g2883">
<path
transform="matrix(1.155321,0.000000,0.000000,1.155321,-2.292065,-1.751761)"
d="M 16.869573 9.3188362 A 7.0579743 7.0579743 0 1 1 2.7536244,9.3188362 A 7.0579743 7.0579743 0 1 1 16.869573 9.3188362 z"
sodipodi:ry="7.0579743"
sodipodi:rx="7.0579743"
sodipodi:cy="9.3188362"
sodipodi:cx="9.8115988"
id="path2885"
style="fill:none;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:0.50000000;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
sodipodi:type="arc" />
<path
sodipodi:nodetypes="cc"
id="path2887"
d="M 8.1145142,1.1289949 C 15.315267,9.5238831 8.3963197,17.101449 8.3963197,17.057255"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="cc"
id="path2889"
d="M 11.588885,1.3666059 C 18.922222,9.5405232 11.605526,16.764536 11.605526,16.764536"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="cc"
id="path2891"
d="M 5.2258471,2.0593951 C 11.080923,9.7405585 5.3432210,16.278941 5.3432210,16.278941"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
<path
sodipodi:nodetypes="cc"
id="path2893"
d="M 2.7388198,3.7571959 C 6.3686281,9.1817837 2.9127331,14.361601 2.9127331,14.361601"
style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
</g>
</g>
<g
style="display:none"
inkscape:label="zoom"
id="layer4"
inkscape:groupmode="layer">
<text
transform="scale(1.000000,-1.000000)"
sodipodi:linespacing="125.00000%"
id="text2114"
y="-3.4077148"
x="3.7485352"
style="font-size:18.000000;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1.0000000;font-family:Helvetica;text-anchor:start;writing-mode:lr-tb"
xml:space="preserve"><tspan
y="-3.4077148"
x="3.7485352"
id="tspan2118"
sodipodi:role="line"></tspan></text>
</g>
<g
style="display:none"
inkscape:label="overlay"
id="layer2"
inkscape:groupmode="layer">
<path
sodipodi:nodetypes="csccsssscccssscccssssccscc"
id="text2082"
d="M 2.9678210,9.0332227 C 2.9678314,9.5015070 3.1752531,9.8938504 3.5900866,10.210254 C 3.6463464,10.254553 3.9451742,10.453889 4.4865710,10.808262 L 8.1568835,13.247754 C 8.2693886,13.323691 8.4240759,13.393300 8.6209460,13.456582 C 8.8107943,13.519862 9.0041535,13.551503 9.2010240,13.551504 C 9.5736843,13.551503 9.8936056,13.431269 10.160789,13.190801 C 10.427980,12.950332 10.561574,12.659238 10.561572,12.317520 C 10.561574,11.861896 10.322511,11.488536 9.8443836,11.197442 L 8.5998522,10.428575 L 14.548408,10.428575 C 15.026535,10.428577 15.406221,10.298849 15.687470,10.039395 C 15.968721,9.7799443 16.109345,9.4318977 16.109345,8.9952540 C 16.109345,8.5396330 15.961690,8.1915865 15.666377,7.9511133 C 15.364034,7.7106494 14.980831,7.5904152 14.516767,7.5904102 L 8.6314928,7.5904102 L 9.9920390,6.7076368 C 10.160793,6.5937365 10.290871,6.4481897 10.382274,6.2709962 C 10.466652,6.0874870 10.508840,5.8913153 10.508837,5.6824805 C 10.508840,5.3281127 10.378761,5.0338552 10.118602,4.7997070 C 9.8584498,4.5655745 9.5279814,4.4485043 9.1271961,4.4484962 C 8.7615757,4.4485043 8.4029823,4.5624104 8.0514147,4.7902149 L 3.9697741,7.5239649 C 3.6393151,7.7454540 3.4002529,7.9542820 3.2525866,8.1504493 C 3.0627532,8.3972503 2.9678314,8.6756875 2.9678210,8.9857618 L 2.9678210,9.0332227"
style="font-size:12.000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Verdana;text-anchor:start;writing-mode:lr-tb" />
</g>
<g
style="display:none"
inkscape:label="pan triangle"
id="layer3"
inkscape:groupmode="layer">
<path
transform="matrix(0.000000,-1.331000,1.331000,0.000000,2.038879,16.92102)"
d="M 9.3471551,9.5937489 L 5.5311469,7.3905753 L 1.7151384,5.1874015 L 5.5311469,2.9842283 L 9.3471555,0.78105489 L 9.3471553,5.1874018 L 9.3471551,9.5937489 z "
inkscape:randomized="0.0000000"
inkscape:rounded="0.0000000"
inkscape:flatsided="false"
sodipodi:arg2="2.0943951"
sodipodi:arg1="1.0471976"
sodipodi:r2="2.5440056"
sodipodi:r1="5.0880113"
sodipodi:cy="5.1874018"
sodipodi:cx="6.8031497"
sodipodi:sides="3"
id="path2107"
style="fill:#ffffff;fill-opacity:1.0000000;stroke:none;stroke-width:39.984146;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
sodipodi:type="star" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

73
art/zoombar.svg Normal file
View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="18"
height="18"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.43"
version="1.0"
inkscape:export-filename="C:\Documents and Settings\crschmidt\Desktop\zoombar.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
sodipodi:docbase="C:\Documents and Settings\crschmidt\Desktop"
sodipodi:docname="zoombar.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="-117.50597"
inkscape:cy="65.94562"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showguides="false"
showgrid="false"
inkscape:window-width="1024"
inkscape:window-height="721"
inkscape:window-x="-4"
inkscape:window-y="-4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="opacity:0.5;fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1307"
width="16.999998"
height="10.000004"
x="-125.51302"
y="-52.420002" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999958;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078"
d="M -125.54176,-52.415494 L -125.54176,-42.415495"
id="path8297" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999982;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.50196078"
d="M -108.48157,-52.418044 L -108.48157,-42.418046"
id="path12667" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,56 +0,0 @@
OpenLayers contributors:
Antoine Abt
Mike Adair
Jeff Adams
Seb Benthall
Bruno Binet
Stéphane Brunner
Howard Butler
Bertil Chaupis
John Cole
Tim Coulter
Robert Coup
Jeff Dege
Roald de Wit
Schuyler Erle
Christian López Espínola
John Frank
Sean Gilles
Pierre Giraud
Ivan Grcic
Andreas Hocevar
Marc Jansen
Ian Johnson
Frédéric Junod
Eric Lemoine
Philip Lindsay
Martijn van Oosterhout
David Overstrom
Corey Puffault
Peter William Robins
Gregers Rygg
Tim Schaub
Christopher Schmidt
Cameron Shorter
Pedro Simonetti
Paul Spencer
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.
Some portions of OpenLayers are used under the MIT license, availabie in
doc/licenses/MIT-LICENSE.txt.
Some portions of OpenLayers are Copyright 2001 Robert Penner, and are used
under the BSD license, available in doc/licenses/BSD-LICENSE.txt

View File

@@ -1,51 +0,0 @@
# Build Utilities
This directory contains utilities used for building OpenLayers applications,
generating the API docs, and building hosted versions of the library.
## Dependencies
OpenLayers is built using [Closure Compiler][closure]. The [plovr][plovr] build
tool simplifies building with Closure Compiler and comes with a built-in version
of the Closure Library and Compiler. Both the Compiler and plovr require Java
version 1.6 or above. This directory includes a bash/batch script for driving
plovr. For pulling down plovr and accessing it in a cross-platform way,
[Ant][ant] is used.
The instructions below assume that you have added the `ol` bash/batch script to
your path (type `ol` and see usage docs to confirm this is set up).
[closure]: https://developers.google.com/closure/compiler/
[plovr]: http://plovr.com/
[ant]: http://ant.apache.org/
## Building an Application
To compile an application together with OpenLayers, you will provide a build
configuration file for the compiler. See the `demo` folder for example
configuration files (e.g. `map.json`).
Compile your application with the `build` command:
ol build path/to/config.json
Substitute the path to your build configuration file above.
## Building the API Docs
From within the root of the OpenLayers directory, use the `doc` command to build
the API docs:
ol doc
This will generate documentation in the `jsdoc` directory.
## Building the Hosted Library
To compile the full OpenLayers api, use the `build` command from the root of the
OpenLayers directory:
ol build
This will generate an `api.js` script in the same directory. (This is equivalent to `ol build path/to/ol/api.json`.)

View File

@@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="ol" default="usage">
<description>
OpenLayers Dev Utilities
</description>
<property name="ol.home" location=".."/>
<property name="plovr.jar" location="${ol.home}/bin/plovr.jar"/>
<property name="main.json" location="${ol.home}/main.json"/>
<property name="build.json" location="${ol.home}/api.json"/>
<target name="usage">
<echo>
Available commands:
serve - Run the library server
build - Builds a minified version of the library or an application
doc - Generate the reference docs
</echo>
</target>
<condition property="plovr.exists">
<available file="${plovr.jar}" type="file"/>
</condition>
<target name="deps" unless="plovr.exists">
<get src="http://plovr.googlecode.com/files/plovr-4b3caf2b7d84.jar"
dest="${plovr.jar}"/>
</target>
<target name="serve" depends="deps">
<java jar="${plovr.jar}" fork="true">
<arg value="serve"/>
<arg value="${main.json}"/>
</java>
</target>
<target name="checkpath">
<condition property="build.json.set">
<isset property="build.json"/>
</condition>
<fail message="Missing build config." unless="build.json.set"/>
<property name="build.json.fullpath" location="${build.json}"/>
<condition property="build.json.exists">
<available file="${build.json.fullpath}" type="file"/>
</condition>
</target>
<target name="build" depends="deps, checkpath">
<fail message="Build config '${build.json.fullpath}' doesn't exist." unless="build.json.exists"/>
<java jar="${plovr.jar}" fork="true">
<arg value="build"/>
<arg value="${build.json}"/>
</java>
</target>
<target name="doc" depends="deps">
<java jar="${plovr.jar}" fork="true">
<arg value="jsdoc"/>
<arg value="${main.json}"/>
</java>
</target>
</project>

44
bin/ol
View File

@@ -1,44 +0,0 @@
#!/bin/bash
ant -version &> /dev/null
if [ $? -ne 0 ]; then
echo 'Requires Apache Ant (see http://ant.apache.org/)'
exit 1
fi
NAME=$(basename -- "$0")
# find ol home
if [ -z "$0" ]; then
# as a last recourse, use the present working directory
OL_HOME=$(pwd)
else
# save original working directory
ORIG_PWD="$(pwd -P)"
# get the absolute path of the executable
SELF_PATH=$(
cd -P -- "$(dirname -- "$0")" \
&& pwd -P
) && SELF_PATH=$SELF_PATH/$(basename -- "$0")
# resolve symlinks
while [ -h "$SELF_PATH" ]; do
DIR=$(dirname -- "$SELF_PATH")
SYM=$(readlink -- "$SELF_PATH")
SELF_PATH=$(cd -- "$DIR" && cd -- $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
done
OL_HOME=$(dirname -- "$(dirname -- "$SELF_PATH")")
# restore original working directory
cd "$ORIG_PWD"
fi
ANT_ARGS=""
if [ $# -gt 1 ]; then
ANT_ARGS=-Dbuild.json="$2"
fi
ant -e -f "$OL_HOME/bin/build.xml" -Dbasedir=. -Dol.home="$OL_HOME" $1 $ANT_ARGS

View File

@@ -1,21 +0,0 @@
@echo off
:: Check for ant on the path
call ant -version >NUL 2>NUL || (
echo Requires Apache Ant ^(see http://ant.apache.org/^)
exit /b 1
)
:: Find the full path of OL_HOME
pushd "%~dp0.."
set OL_HOME="%cd%"
popd
:: Run the command
set COMMAND="%~1"
if "%~1" == "" set COMMAND="usage"
set ANT_ARGS=
if "%~2" == "" set ANT_ARGS="-Dbuild.json=%~2"
ant -e -f %OL_HOME%\bin\build.xml -Dol.home=%OL_HOME% -Dbasedir=. %COMMAND% %ANT_ARGS%

14
build/README.txt Normal file
View File

@@ -0,0 +1,14 @@
## HowTo: Build & deploy "Shrunk" Single File Library version of OpenLayers ##
* Build:
cd build
./build.sh
cd ..
* Upload the result to the server: e.g.
scp build/OpenLayers.js openlayers@openlayers.org:openlayers.org/htdocs/code/

27
build/build.py Executable file
View File

@@ -0,0 +1,27 @@
#!/usr/bin/env python
import sys
sys.path.append("../tools")
import jsmin, mergejs
sourceDirectory = "../lib"
configFilename = "library.cfg"
outputFilename = "OpenLayers.js"
if len(sys.argv) > 1:
configFilename = sys.argv[1] + ".cfg"
if len(sys.argv) > 2:
outputFilename = sys.argv[2]
print "Merging libraries."
merged = mergejs.run(sourceDirectory, None, configFilename)
print "Compressing."
minimized = jsmin.jsmin(merged)
print "Adding license file."
minimized = file("license.txt").read() + minimized
print "Writing to %s." % outputFilename
file(outputFilename, "w").write(minimized)
print "Done."

View File

@@ -0,0 +1,25 @@
#!/usr/bin/env python
import sys
sys.path.append("../tools")
import jsmin, mergejs
sourceDirectory = "../lib"
configFilename = "library.cfg"
outputFilename = "OpenLayers.js"
if len(sys.argv) > 1:
configFilename = sys.argv[1] + ".cfg"
if len(sys.argv) > 2:
outputFilename = sys.argv[2]
print "Merging libraries."
merged = mergejs.run(sourceDirectory, None, configFilename)
print "Adding license file."
merged = file("license.txt").read() + merged
print "Writing to %s." % outputFilename
file(outputFilename, "w").write(merged)
print "Done."

12
build/full.cfg Normal file
View File

@@ -0,0 +1,12 @@
[first]
OpenLayers/SingleFile.js
OpenLayers.js
OpenLayers/BaseTypes.js
OpenLayers/Util.js
Rico/Corner.js
[last]
[include]
[exclude]

47
build/library.cfg Normal file
View File

@@ -0,0 +1,47 @@
[first]
OpenLayers/SingleFile.js
OpenLayers.js
OpenLayers/BaseTypes.js
OpenLayers/Util.js
Rico/Corner.js
[last]
[include]
[exclude]
OpenLayers/Format/GeoRSS.js
OpenLayers/Format/GML.js
OpenLayers/Format/WKT.js
OpenLayers/Format/KML.js
OpenLayers/Format/WFS.js
OpenLayers/Format.js
OpenLayers/Handler/Path.js
OpenLayers/Handler/Point.js
OpenLayers/Handler/Polygon.js
OpenLayers/Handler/Select.js
OpenLayers/Geometry/Collection.js
OpenLayers/Geometry/Curve.js
OpenLayers/Geometry/LinearRing.js
OpenLayers/Geometry/LineString.js
OpenLayers/Geometry/MultiLineString.js
OpenLayers/Geometry/MultiPoint.js
OpenLayers/Geometry/MultiPolygon.js
OpenLayers/Geometry/Point.js
OpenLayers/Geometry/Polygon.js
OpenLayers/Geometry/Rectangle.js
OpenLayers/Geometry/Surface.js
OpenLayers/Geometry.js
OpenLayers/Layer/GML.js
OpenLayers/Layer/Vector.js
OpenLayers/Control/DrawFeature.js
OpenLayers/Control/EditingToolbar.js
OpenLayers/Control/SelectFeature.js
OpenLayers/Feature/Vector.js
OpenLayers/Renderer
OpenLayers/Renderer/Elements.js
OpenLayers/Renderer/SVG.js
OpenLayers/Renderer/VML.js
OpenLayers/Renderer.js

45
build/license.txt Normal file
View File

@@ -0,0 +1,45 @@
/*
OpenLayers.js -- OpenLayers Map Viewer Library
Copyright 2005-2006 MetaCarta, Inc., released under a modified BSD license.
Please see http://svn.openlayers.org/trunk/openlayers/release-license.txt
for the full text of the license.
Includes compressed code under the following licenses:
(For uncompressed versions of the code used please see the
OpenLayers SVN repository: <http://openlayers.org/>)
*/
/* Contains portions of Prototype.js:
*
* Prototype JavaScript framework, version 1.4.0
* (c) 2005 Sam Stephenson <sam@conio.net>
*
* Prototype is freely distributable under the terms of an MIT-style license.
* For details, see the Prototype web site: http://prototype.conio.net/
*
/*--------------------------------------------------------------------------*/
/**
*
* Contains portions of Rico <http://openrico.org/>
*
* Copyright 2005 Sabre Airline Solutions
*
* Licensed under the Apache License, Version 2.0 (the "License"); you
* may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*
**/

20
build/lite.cfg Normal file
View File

@@ -0,0 +1,20 @@
[first]
OpenLayers/SingleFile.js
OpenLayers.js
OpenLayers/BaseTypes.js
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]

View File

@@ -1,177 +0,0 @@
.ol-renderer-webgl-canvas { width:100%; height:100%; }
.olTile {
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
-o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
/**
* arrow implementation from http://cssarrowplease.com/ for ol-popup
*/
.ol-popup {
position: absolute;
background: #88b7d5;
border: 4px solid #c2e1f5;
}
/**
* FIXME
*/
.ol-popup-close {
background: url("img/close.gif") no-repeat;
cursor: pointer;
position: absolute;
width: 17px;
height: 17px;
right: 0;
}
.ol-popup-top {}
.ol-popup-top:after, .ol-popup-top:before {
bottom: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
.ol-popup-top:after {
border-bottom-color: #88b7d5;
border-width: 30px;
left: 50%;
margin-left: -30px;
}
.ol-popup-top:before {
border-bottom-color: #c2e1f5;
border-width: 36px;
left: 50%;
margin-left: -36px;
}
.ol-popup-bottom {}
.ol-popup-bottom:after, .ol-popup-bottom:before {
top: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
.ol-popup-bottom:after {
border-top-color: #88b7d5;
border-width: 30px;
left: 50%;
margin-left: -30px;
}
.ol-popup-bottom:before {
border-top-color: #c2e1f5;
border-width: 36px;
left: 50%;
margin-left: -36px;
}
.ol-popup-right {}
.ol-popup-right:after, .ol-popup-right:before {
left: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
.ol-popup-right:after {
border-left-color: #88b7d5;
border-width: 30px;
top: 50%;
margin-top: -30px;
}
.ol-popup-right:before {
border-left-color: #c2e1f5;
border-width: 36px;
top: 50%;
margin-top: -36px;
}
.ol-popup-left {}
.ol-popup-left:after, .ol-popup-left:before {
right: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
.ol-popup-left:after {
border-right-color: #88b7d5;
border-width: 30px;
top: 50%;
margin-top: -30px;
}
.ol-popup-left:before {
border-right-color: #c2e1f5;
border-width: 36px;
top: 50%;
margin-top: -36px;
}
.ol-control-zoom {
position: absolute;
top: 8px;
left: 8px;
background: rgba(255,255,255,0.4);
border-radius: 4px;
padding: 2px;
}
.ol-control-zoom a {
display: block;
margin: 1px;
padding: 0;
color: white;
font-size: 18px;
font-family: 'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;
font-weight: bold;
text-decoration: none;
text-align: center;
height: 22px;
width:22px;
line-height: 19px;
background: #130085; /* fallback for IE - IE6 requires background shorthand*/
background: rgba(0, 60, 136, 0.5);
filter: alpha(opacity=80);
}
.ol-control-zoom a:hover {
background: #130085; /* fallback for IE */
background: rgba(0, 60, 136, 0.7);
filter: alpha(opacity=100);
}
@media only screen and (max-width: 600px) {
.ol-control-zoom a:hover {
background: rgba(0, 60, 136, 0.5);
}
}
.ol-control-zoom-in {
border-radius: 4px 4px 0 0;
}
.ol-control-zoom-out {
border-radius: 0 0 4px 4px;
}
.ol-control-attribution {
position: absolute;
font-size: 10px;
text-align: right;
color: #eeeeee;
bottom: 0;
right: 0;
background: #130085; /* fallback for IE - IE6 requires background shorthand*/
background: rgba(0, 60, 136, 0.3);
filter: alpha(opacity=30);
font-family: 'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif;
padding: 2px 4px;
}
.ol-control-attribution a {
color: white;
text-decoration: none;
}

View File

@@ -1,26 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>OL3 Hello World</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<link rel="stylesheet" href="../css/ol.css" type="text/css">
<script src="../api.js"></script>
<style type="text/css" media="screen">
html, body, #map { width: 100%; height: 100%; border: 0; margin:0; }
</style>
<script type="text/javascript" charset="utf-8">
var map;
function init() {
map = ol.map()
.renderTo('map')
.layers([ol.layer.osm()])
.center([45, 5])
.zoom(10);
}
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

View File

@@ -1,15 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>OL3 Hello World</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<script src="hello-compiled.js"></script>
<style type="text/css" media="screen">
html, body, #map { width: 100%; height: 100%; border: 0; margin:0; }
</style>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

View File

@@ -1,42 +0,0 @@
{
"id": "hello",
"output-file": "hello-compiled.js",
"inputs": [
"hello.js",
"../src/ol.js"
],
"paths": [
"../src"
],
"define": {
// "goog.dom.ASSUME_STANDARDS_MODE": true,
"goog.DEBUG": false
},
"mode": "ADVANCED",
"level": "VERBOSE",
// "pretty-print": true,
// "debug": true,
// "experimental-compiler-options": {
// "generateExports": true
// },
"checks": {
// acceptable values are "ERROR", "WARNING", and "OFF"
"accessControls": "WARNING",
"visibility": "WARNING",
"checkTypes": "WARNING",
"checkRegExp": "WARNING",
"checkVars": "WARNING",
"deprecated": "WARNING",
"fileoverviewTags": "WARNING",
"invalidCasts": "WARNING",
"missingProperties": "WARNING",
"nonStandardJsDocs": "WARNING",
"undefinedVars": "WARNING"
}
}

View File

@@ -1,42 +0,0 @@
{
"id": "hello-epi",
"output-file": "hello-epi-compiled.js",
"inputs": [
"hello-epi.js"
],
"paths": [
"../src"
],
"define": {
// "goog.dom.ASSUME_STANDARDS_MODE": true,
"goog.DEBUG": false
},
"mode": "ADVANCED",
"level": "VERBOSE",
// "pretty-print": true,
// "debug": true,
// "experimental-compiler-options": {
// "generateExports": true
// },
"checks": {
// acceptable values are "ERROR", "WARNING", and "OFF"
"accessControls": "WARNING",
"visibility": "WARNING",
"checkTypes": "WARNING",
"checkRegExp": "WARNING",
"checkVars": "WARNING",
"deprecated": "WARNING",
"fileoverviewTags": "WARNING",
"invalidCasts": "WARNING",
"missingProperties": "WARNING",
"nonStandardJsDocs": "WARNING",
"undefinedVars": "WARNING"
}
}

View File

@@ -1,16 +0,0 @@
/* This is a code which is going to be compiled together with the library */
goog.require('ol.Map');
goog.require('ol.layer.OSM');
goog.require('ol.Loc');
goog.require('goog.dom');
function init() {
var map = new ol.Map();
map.setContainer(goog.dom.getElement('map'));
map.setLayers( [ new ol.layer.OSM() ] );
map.setCenter( new ol.Loc(45, 5));
map.setZoom(10);
}
window['init'] = init;

View File

@@ -1,10 +0,0 @@
/* This is a code which is going to be compiled together with the library */
function init() {
var map = ol.map()
.renderTo('map')
.layers([ol.layer.osm()])
.center([45, 5])
.zoom(10);
}
window['init'] = init;

View File

@@ -1,7 +0,0 @@
/**
Adds the plovr generated script to the document.
*/
(function() {
var url = "http://" + window.location.hostname + ":9810/compile?id=ol";
document.write("<script type='text/javascript' src='" + url + "'></script>");
})();

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>OL3 Map</title>
<script type="text/javascript" src="loader.js"></script>
<link rel="stylesheet" href="../css/ol.css" type="text/css">
<style type="text/css">
#map {
width: 512px; height: 350px;
}
</style>
</head>
<body>
</body>
<div id="map"></div>
<script type="text/javascript" src="map.js"></script>
</html>

View File

@@ -1,6 +0,0 @@
var map = ol.map({
renderTo: 'map',
layers: [ol.layer.osm()],
center: [0, 0],
zoom: 1
});

View File

@@ -1,39 +0,0 @@
/**
* Build configuration for the map.js example. Use following syntax:
*
* ol build map.json
*
* The output will be named map-compiled.js.
*/
{
"id": "hello",
"output-file": "map-compiled.js",
"inputs": ["../src/ol.js", "map.js"],
"paths": ["../src"],
"define": {
"goog.DEBUG": false
},
"mode": "ADVANCED",
"level": "VERBOSE",
// acceptable values are "ERROR", "WARNING", and "OFF"
"checks": {
"accessControls": "WARNING",
"visibility": "WARNING",
"checkTypes": "WARNING",
"checkRegExp": "WARNING",
"checkVars": "WARNING",
"deprecated": "WARNING",
"fileoverviewTags": "WARNING",
"invalidCasts": "WARNING",
"missingProperties": "WARNING",
"nonStandardJsDocs": "WARNING",
"undefinedVars": "WARNING"
}
}

24
doc/authors.txt Normal file
View File

@@ -0,0 +1,24 @@
OpenLayers contributors:
Howard Butler
Bertil Chaupis
Jeff Dege
Schuyler Erle
Christian López Espínola
John Frank
Sean Gilles
Pierre Giraud
Andreas Hocevar
Philip Lindsay
Corey Puffault
Tim Schaub
Christopher Schmidt
Cameron Shorter
Paul Spencer
James Stembridge
Erik Uzureau
Bill Woodall
Steve Woodbridge
OpenLayers is graciously supported by MetaCarta, Inc.
<http://www.metacarta.com>.

49
doc/customization Normal file
View File

@@ -0,0 +1,49 @@
Customizing OpenLayers
======================
OpenLayers is designed to fit many needs -- fitting in alongside all kinds of
various applications which are currently in use.
Currently, OpenLayers supports a 'theme' option when creating a map. This
theme option allows you to specify the location of a CSS theme which should
be included.
A default theme is available as an example in the theme/ directory: the setup
is:
* theme/
* theme/default/
* theme/default/style.css
* theme/default/img/
Currently, the OpenLayers code does not support class names, and therefore,
it is not possible to control many aspects of OpenLayers code with CSS
classes. However, with this framework in place, we expect to invest time
to make existing features and new features use the CSS theming framework
where apropriate.
Class Naming
============
Elements should have class names which are descriptive of the Javascript
class from which they come. For example, the main layer switcher element
in the OpenLayers.Control.LayerSwitcher would be classed:
olControlLayerSwitcher
This would allow users to add to their style.css class in their theme,
changing, for example:
::
.olControlLayerSwitcher input {
width:10px;
}
Sub elements of a particular control can add to the class name:
::
.olControlLayerSwitcherBaseLabel {
color: red;
}

3
doc/readme.txt Normal file
View File

@@ -0,0 +1,3 @@
Automatically generated OpenLayers API documentation is online:
http://dev.openlayers.org/docs/overview-tree.html

33
examples/GMLParser.html Normal file
View File

@@ -0,0 +1,33 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
function parseData(req) {
g = new OpenLayers.Format.GML();
html = ""
features = g.read(req.responseText);
for(var feat in features) {
html += "Feature: Geometry: "+ features[feat].geometry+",";
html += "<ul>";
for (var j in features[feat].attributes) {
html += "<li>"+j+":"+features[feat].attributes[j]+"</li>";
}
html += "</ul>"
}
document.body.innerHTML = html;
}
function load() {
OpenLayers.loadURL("gml/owls.xml", "", null, parseData);
}
</script>
</head>
<body onload="load()">
</body>
</html>

33
examples/KMLParser.html Normal file
View File

@@ -0,0 +1,33 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
function parseData(req) {
g = new OpenLayers.Format.KML();
html = ""
features = g.read(req.responseText);
for(var feat in features) {
html += "Feature: Geometry: "+ features[feat].geometry+",";
html += "<ul>";
for (var j in features[feat].attributes) {
html += "<li>"+j+":"+features[feat].attributes[j]+"</li>";
}
html += "</ul>"
}
document.body.innerHTML = html;
}
function load() {
OpenLayers.loadURL("kml/mc-search.kml", "", null, parseData);
}
</script>
</head>
<body onload="load()">
</body>
</html>

83
examples/baseLayers.html Normal file
View File

@@ -0,0 +1,83 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 100%;
height: 512px;
border: 1px solid black;
background-color: blue;
}
</style>
<!-- this gmaps key generated for http://openlayers.org/dev/ -->
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA9XNhd8q0UdwNC7YSO4YZghSPUCi5aRYVveCcVYxzezM4iaj_gxQ9t-UajFL70jfcpquH5l1IJ-Zyyw'></script>
<!-- Localhost key -->
<!-- <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTS6gjckBmeABOGXIUiOiZObZESPg'></script>-->
<script type="text/javascript" src="http://clients.multimap.com/API/maps/1.1/metacarta_04"></script>
<script src='http://dev.virtualearth.net/mapcontrol/v3/mapcontrol.js'></script>
<script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, markers;
var barcelona = new OpenLayers.LonLat(2.13134765625,
41.37062534198901);
var madrid = new OpenLayers.LonLat(-3.6968994140625,
40.428314208984375);
function init(){
map = new OpenLayers.Map( 'map' );
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'} );
var google = new OpenLayers.Layer.Google( "Google Hybrid" , {type: G_HYBRID_MAP });
var ve = new OpenLayers.Layer.VirtualEarth( "VE");
var yahoo = new OpenLayers.Layer.Yahoo( "Yahoo");
var mm = new OpenLayers.Layer.MultiMap( "MultiMap");
map.addLayers([wms, google, ve, yahoo, mm]);
markers = new OpenLayers.Layer.Markers("markers");
map.addLayer(markers);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
map.addControl( new OpenLayers.Control.MousePosition() );
}
function add() {
var url = 'http://boston.openguides.org/markers/AQUA.png';
var sz = new OpenLayers.Size(10, 17);
var calculateOffset = function(size) {
return new OpenLayers.Pixel(-(size.w/2), -size.h);
};
var icon = new OpenLayers.Icon(url, sz, null, calculateOffset);
marker = new OpenLayers.Marker(barcelona, icon);
markers.addMarker(marker);
marker = new OpenLayers.Marker(madrid, icon.clone());
markers.addMarker(marker);
}
function remove() {
markers.removeMarker(marker);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers With WMS, Google, VE Example</h1>
<div id="map"></div>
<div style="background-color:green" onclick="add()"> click to add a marker to the map</div>
<div style="background-color:red" onclick="remove()"> click to remove the marker from the map</div>
</body>
</html>

49
examples/boxes.html Normal file
View File

@@ -0,0 +1,49 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
box_extents = [
[-10, 50, 5, 60],
[-75, 41, -71, 44],
[-122.6, 37.6, -122.3, 37.9],
[10, 10, 20, 20]
];
function init(){
var map = new OpenLayers.Map('map');
var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'} );
var boxes = new OpenLayers.Layer.Boxes( "Boxes" );
for (var i = 0; i < box_extents.length; i++) {
ext = box_extents[i];
bounds = new OpenLayers.Bounds(ext[0], ext[1], ext[2], ext[3]);
box = new OpenLayers.Marker.Box(bounds);
box.events.register("click", box, function (e) {
this.setBorder("yellow");
});
boxes.addMarker(box);
}
map.addLayers([ol_wms, boxes]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

613
examples/canvas.html Normal file
View File

@@ -0,0 +1,613 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA9XNhd8q0UdwNC7YSO4YZghSPUCi5aRYVveCcVYxzezM4iaj_gxQ9t-UajFL70jfcpquH5l1IJ-Zyyw'></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, canvas;
var click;
function init(){
map = new OpenLayers.Map('map');
var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'});
var g = new OpenLayers.Layer.Google("Google");
canvas = new OpenLayers.Layer.Canvas("Canvas Layer");
map.addLayers([ol_wms, g,canvas]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
// map.setCenter(new OpenLayers.LonLat(0, 0), 0);
map.zoomToMaxExtent();
canvas.drawLine(new OpenLayers.LonLat(-71,42), new OpenLayers.LonLat(0,0));
canvas.setStrokeColor("red");
canvas.setStrokeWidth(5);
canvas.setAlpha(.5);
map.events.register("click", map, function(e) {
if (click) {
canvas.drawLine(click, this.getLonLatFromPixel(e.xy));
click = null;
OpenLayers.Util.getElement('status').innerHTML = "";
}
else {
click = this.getLonLatFromPixel(e.xy);
OpenLayers.Util.getElement('status').innerHTML = "Point 1 stored: "+click+". <a href='#' onclick='click=null;return false'>Reset</a>";
}
});
}
function drawIt() {
canvas.drawLine(
new OpenLayers.LonLat(parseFloat(OpenLayers.Util.getElement('lon1').value), parseFloat(OpenLayers.Util.getElement('lat1').value)),
new OpenLayers.LonLat(parseFloat(OpenLayers.Util.getElement('lon2').value), parseFloat(OpenLayers.Util.getElement('lat2').value))
);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div style="float:right">
<br />
Start Lon: <input type="text" id="lon1" />
Start Lat: <input type="text" id="lat1" /><br />
End Lon: <input type="text" id="lon2" />
End Lat: <input type="text" id="lat2" /><br />
<input type="submit" value="Add line" onclick="drawIt()" />
<div id="status"></div>
<center>
<table border="1" cellpadding="0" cellspacing="1">
<tbody>
<tr>
<td bgcolor="#000000">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#000000');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#000033">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#000033');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#000066">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#000066');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#000099">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#000099');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#0000cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#0000CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#0000ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#0000FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#330000">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#330000');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#330033">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#330033');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#330066">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#330066');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#330099">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#330099');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#3300cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#3300CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#3300ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#3300FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#660000">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#660000');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#660033">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#660033');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#660066">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#660066');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#660099">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#660099');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#6600cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#6600CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#6600ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#6600FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
</tr>
<tr>
<td bgcolor="#990000">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#990000');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#990033">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#990033');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#990066">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#990066');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#990099">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#990099');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#9900cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#9900CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#9900ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#9900FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc0000">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC0000');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc0033">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC0033');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc0066">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC0066');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc0099">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC0099');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc00cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC00CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc00ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC00FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff0000">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF0000');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff0033">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF0033');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff0066">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF0066');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff0099">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF0099');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff00cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF00CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff00ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF00FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
</tr>
<tr>
<td bgcolor="#003300">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#003300');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#003333">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#003333');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#003366">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#003366');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#003399">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#003399');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#0033cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#0033CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#0033ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#0033FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#333300">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#333300');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#333333">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#333333');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#333366">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#333366');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#333399">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#333399');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#3333cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#3333CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#3333ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#3333FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#663300">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#663300');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#663333">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#663333');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#663366">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#663366');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#663399">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#663399');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#6633cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#6633CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#6633ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#6633FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
</tr>
<tr>
<td bgcolor="#993300">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#993300');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#993333">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#993333');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#993366">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#993366');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#993399">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#993399');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#9933cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#9933CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#9933ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#9933FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc3300">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC3300');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc3333">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC3333');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc33cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC33CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc33ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC33FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff3300">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF3300');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff3333">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF3333');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff3366">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF3366');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff3399">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF3399');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff33cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF33CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff33ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF33FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
</tr>
<tr>
<td bgcolor="#006600">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#006600');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#006633">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#006633');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#006666">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#006666');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#006699">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#006699');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#0066cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#0066CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#336699">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#336699');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#3366cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#3366CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#3366ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#3366FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#666600">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#666600');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#666633">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#666633');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#666666">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#666666');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#666699">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#666699');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#6666cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#6666CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#6666ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#6666FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
</tr>
<tr>
<td bgcolor="#996600">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#996600');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#996633">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#996633');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#9966ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#9966FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc6600">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC6600');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc6633">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC6633');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc6666">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC6666');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc6699">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC6699');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc66cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC66CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#cc66ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#CC66FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff6600">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF6600');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#ff6633">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#FF6633');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
</tr>
<tr>
<td bgcolor="#009900">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#009900');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#009933">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#009933');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#009966">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#009966');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#009999">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#009999');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#0099cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#0099CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#0099ff">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#0099FF');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#339900">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#339900');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#339933">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#339933');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#339966">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#339966');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#339999">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#339999');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
<td bgcolor="#3399cc">
<font size="-3">
<a href="#" onclick="canvas.setStrokeColor('#3399CC');return false">&nbsp;&nbsp;&nbsp;</a>
</font>
</td>
</tr>
</table>
</div>
<div id="map"></div>
</body>
</html>

40
examples/ciesin.html Normal file
View File

@@ -0,0 +1,40 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map');
var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'} );
var jpl_wms = new OpenLayers.Layer.WMS( "Population Density 2000",
"http://beta.sedac.ciesin.columbia.edu/mapserver/wms/gpw2000",
{layers: "gpw"});
var cie_wms = new OpenLayers.Layer.WMS( "Human Footprint",
"http://beta.sedac.ciesin.columbia.edu/mapserver/wms/hfoot",
{layers: "hfoot"});
jpl_wms.setVisibility(false);
map.addLayers([ol_wms, jpl_wms, cie_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
// map.setCenter(new OpenLayers.LonLat(0, 0), 0);
map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

42
examples/click.html Normal file
View File

@@ -0,0 +1,42 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map');
var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'} );
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://wms.jpl.nasa.gov/wms.cgi",
{layers: "modis,global_mosaic"});
jpl_wms.setVisibility(false);
map.addLayers([ol_wms, jpl_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
// map.setCenter(new OpenLayers.LonLat(0, 0), 0);
map.zoomToMaxExtent();
map.events.register("click", map, function(e) {
var lonlat = map.getLonLatFromViewPortPx(e.xy);
alert("You clicked near " + lonlat.lat + " N, " +
+ lonlat.lon + " E");
});
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

53
examples/controls.html Normal file
View File

@@ -0,0 +1,53 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map', { controls: [] });
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.MouseToolbar());
map.addControl(new OpenLayers.Control.LayerSwitcher({'ascending':false}));
map.addControl(new OpenLayers.Control.Permalink());
map.addControl(new OpenLayers.Control.Permalink('permalink'));
map.addControl(new OpenLayers.Control.MousePosition());
map.addControl(new OpenLayers.Control.OverviewMap());
map.addControl(new OpenLayers.Control.KeyboardDefaults());
var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'} );
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://wms.jpl.nasa.gov/wms.cgi",
{layers: "modis,global_mosaic"});
var dm_wms = new OpenLayers.Layer.WMS( "DM Solutions Demo",
"http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
{layers: "bathymetry,land_fn,park,drain_fn,drainage," +
"prov_bound,fedlimit,rail,road,popplace",
transparent: "true", format: "image/png" });
jpl_wms.setVisibility(false);
dm_wms.setVisibility(false);
map.addLayers([ol_wms, jpl_wms, dm_wms]);
if (!map.getCenter()) map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<a style="float:right" href="" id="permalink">Permalink</a>
<div id="map"></div>
</body>
</html>

View File

@@ -0,0 +1,49 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
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'} );
var control = new OpenLayers.Control();
OpenLayers.Util.extend(control, {
draw: function () {
// this Handler.Box will intercept the shift-mousedown
// before Control.MouseDefault gets to see it
this.box = new OpenLayers.Handler.Box( control,
{"done": this.notice},
{keyMask: OpenLayers.Handler.MOD_SHIFT});
this.box.activate();
},
notice: function (bounds) {
alert(bounds);
}
});
map.addLayer(layer);
map.addControl(control);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<style type="text/css">
#map {
width: 500px;
height: 350px;
border: 1px solid gray;
}
p {
width: 500px;
}
div.olControlMousePosition {
font-family: Verdana;
font-size: 0.5em;
color: red;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
function init(){
var options = {theme: null};
map = new OpenLayers.Map('map', options);
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addControl(new OpenLayers.Control.MousePosition());
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
<p>If you care to modify the style of any OpenLayers element, include
the default stylesheet as a link and declare any style modifications
below that link. These style declarations can be in other linked
stylesheets or in style tags. In addition, construct your map with
options that include {theme: null}. This will disable the default
method of loading the stylesheet and allow you to declare style rules
in your own linked stylesheets or style tags.</p>
<p>This example shows how to declare the font family, size, and color
for the mouse position. Note that only the style keys that you want to
modify (change from the default) need to be specified.</p>
</body>
</html>

View File

@@ -0,0 +1,17 @@
<html>
<head>
<script src="../lib/OpenLayers.js"></script>
</head>
<body>
<div style="width:100%; height:100%" id="map"></div>
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(wms);
map.setCenter(new OpenLayers.LonLat(100,10));
map.setCenter(new OpenLayers.LonLat(1,1));
</script>
</body>
</html>

View File

@@ -0,0 +1,96 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 350px;
border: 1px solid gray;
}
#controlToggle li {
list-style: none;
}
p {
width: 512px;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, drawControls;
OpenLayers.Util.onImageLoadErrorColor = "transparent";
function init(){
map = new OpenLayers.Map('map');
var wmsLayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'});
var pointLayer = new OpenLayers.Layer.Vector("Point Layer");
var lineLayer = new OpenLayers.Layer.Vector("Line Layer");
var polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer");
map.addLayers([wmsLayer, pointLayer, lineLayer, polygonLayer]);
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, options),
polygon: new OpenLayers.Control.DrawFeature(polygonLayer,
OpenLayers.Handler.Polygon, options)
};
for(var key in drawControls) {
map.addControl(drawControls[key]);
}
map.setCenter(new OpenLayers.LonLat(0, 0), 3);
document.getElementById('noneToggle').checked = true;
}
function toggleControl(element) {
for(key in drawControls) {
var control = drawControls[key];
if(element.value == key && element.checked) {
control.activate();
} else {
control.deactivate();
}
}
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Draw Feature Example</h1>
<div id="map"></div>
<ul id="controlToggle">
<li>
<input type="radio" name="type" value="none" id="noneToggle"
onclick="toggleControl(this);" checked="checked" />
<label for="noneToggle">navigate</label>
</li>
<li>
<input type="radio" name="type" value="point" id="pointToggle" onclick="toggleControl(this);" />
<label for="pointToggle">draw point</label>
</li>
<li>
<input type="radio" name="type" value="line" id="lineToggle" onclick="toggleControl(this);" />
<label for="lineToggle">draw line</label>
</li>
<li>
<input type="radio" name="type" value="polygon" id="polygonToggle" onclick="toggleControl(this);" />
<label for="polygonToggle">draw polygon</label>
</li>
</ul>
<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>
</body>
</html>

View File

@@ -0,0 +1,40 @@
<!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>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script src="../lib/Firebug/debug.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
function init(){
map = new OpenLayers.Map( 'map', { controls: [] } );
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
vlayer = new OpenLayers.Layer.Vector( "Editable" );
map.addLayer(vlayer);
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.EditingToolbar(vlayer));
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
// -->
</script>
</head>
<body onload="init()">
<div id="panel"></div>
<div id="map"></div>
</body>
</html>

51
examples/example.html Normal file
View File

@@ -0,0 +1,51 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map');
var options = {
resolutions: [1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.00137329101]
};
var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'},
options);
var options2 = {
resolutions: [0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.00137329101]
};
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://wms.jpl.nasa.gov/wms.cgi",
{layers: "modis,global_mosaic"}, options2);
var dm_wms = new OpenLayers.Layer.WMS( "DM Solutions Demo",
"http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
{layers: "bathymetry,land_fn,park,drain_fn,drainage," +
"prov_bound,fedlimit,rail,road,popplace",
transparent: "true", format: "image/png"},
{minResolution: 0.17578125,
maxResolution: 0.703125});
map.addLayers([ol_wms, jpl_wms, dm_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
// map.setCenter(new OpenLayers.LonLat(0, 0), 0);
map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

49
examples/freemap.html Normal file
View File

@@ -0,0 +1,49 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
body {
border: 0px;
margin: 0px;
padding: 0px;
}
#map {
width: 100%;
height: 100%;
border: 0px;
padding: 0px;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lat = 900863;
var lon = 235829;
var zoom = 6;
var map, layer;
function init(){
map = new OpenLayers.Map( 'map' );
var basemap = new OpenLayers.Layer.WMS( "Boston",
"http://boston.freemap.in/cgi-bin/mapserv?",
{map: '/www/freemap.in/boston/map/gmaps.map', layers: 'border,water,roads,rapid_transit,buildings', format: 'png', 'transparent': 'off'},
// These are the important parts for creating a non-epsg:4326
// map: Maxextent is the boundary of the map/tile loading area,
// maxResolution is the units/pixel at the highest zoom, and
// projection is the projection to be used in WMS/WFS Requests.
{maxExtent: new OpenLayers.Bounds(33861, 717605, 330846, 1019656), maxResolution: 296985/1024, projection:"EPSG:2805" } );
map.addLayer(basemap);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.addControl(new OpenLayers.Control.LayerSwitcher());
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

40
examples/fullScreen.html Normal file
View File

@@ -0,0 +1,40 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 100%;
height: 100%;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map');
var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com:80/wms/vmap0?", {layers: 'basic'});
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://wms.jpl.nasa.gov/wms.cgi",
{layers: "modis,global_mosaic"});
var dm_wms = new OpenLayers.Layer.WMS( "DM Solutions Demo",
"http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
{layers: "bathymetry,land_fn,park,drain_fn,drainage," +
"prov_bound,fedlimit,rail,road,popplace",
transparent: "true", format: "image/png" });
map.addLayers([ol_wms, jpl_wms, dm_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
// map.setCenter(new OpenLayers.LonLat(0, 0), 0);
map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

View File

@@ -0,0 +1,50 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 350px;
border: 1px solid gray;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, drawControl, g;
function serialize(feature) {
feature.attributes = {};
var name = prompt("Title for feature?");
feature.attributes['title'] = name;
s = new XMLSerializer();
var data = g.write(feature.layer.features);
$("gml").value = s.serializeToString(data);
}
function init(){
g = new OpenLayers.Format.GeoRSS();
map = new OpenLayers.Map('map');
var wmsLayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'});
var pointLayer = new OpenLayers.Layer.Vector("Point Layer");
pointLayer.onFeatureInsert = serialize;
map.addLayers([wmsLayer, pointLayer]);
map.addControl(new OpenLayers.Control.EditingToolbar(pointLayer));
map.addControl(new OpenLayers.Control.MousePosition());
map.setCenter(new OpenLayers.LonLat(0, 0), 3);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Draw Point Example</h1>
<div style="float:right">
<textarea id="gml" cols="80" rows="30"></textarea>
</div>
<div id="map"></div>
</body>
</html>

43
examples/georss.html Normal file
View File

@@ -0,0 +1,43 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 400px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, layer;
OpenLayers.ProxyHost = "/proxy/?url=";
function init(){
map = new OpenLayers.Map('map', {maxResolution:'auto'});
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(0, 0), 0);
map.addControl(new OpenLayers.Control.LayerSwitcher());
}
function addUrl() {
var urlObj = OpenLayers.Util.getElement('url');
var value = urlObj.value;
var parts = value.split("/");
var newl = new OpenLayers.Layer.GeoRSS( parts[parts.length-1], value);
map.addLayer(newl);
urlObj.value = "";
}
// -->
</script>
</head>
<body onload="init()">
<h1>GeoRSS in OpenLayers</h1>
<p style="font-size:.9em;">This demo uses the OpenLayers GeoRSS parser, which supports GeoRSS Simple and W3C GeoRSS. Only points are currently supported. <a href="http://trac.openlayers.org/wiki/HowToDownload">Get the code!</a></p>
<form onsubmit="return false;">
GeoRSS URL: <input type="text" id="url" size="50" /><input type="submit" onclick="addUrl(); return false;" value="Load Feed" onsubmit="addUrl(); return false;" />
</form>
<div id="map"></div>
</body>
</html>

378
examples/georss.xml Normal file
View File

@@ -0,0 +1,378 @@
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/css" href="/css/rss.css" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:georss="http://www.georss.org/georss">
<docs>This is an RSS file. Copy the URL into your aggregator of choice. If you don't know what this means and want to learn more, please see: <span>http://platial.typepad.com/news/2006/04/really_simple_t.html</span> for more info.</docs><channel rdf:about="http://platial.com">
<link>http://platial.com</link>
<title>Crschmidt's Places At Platial</title>
<description></description>
<items>
<rdf:Seq>
<rdf:li resource="http://platial.com/place/90306"/>
<rdf:li resource="http://platial.com/place/67230"/>
<rdf:li resource="http://platial.com/place/65645"/>
<rdf:li resource="http://platial.com/place/62200"/>
<rdf:li resource="http://platial.com/place/28232"/>
<rdf:li resource="http://platial.com/place/43666"/>
<rdf:li resource="http://platial.com/place/28394"/>
<rdf:li resource="http://platial.com/place/28251"/>
<rdf:li resource="http://platial.com/place/28392"/>
<rdf:li resource="http://platial.com/place/28391"/>
<rdf:li resource="http://platial.com/place/28231"/>
<rdf:li resource="http://platial.com/place/28393"/>
<rdf:li resource="http://platial.com/place/31685"/>
<rdf:li resource="http://platial.com/place/28596"/>
<rdf:li resource="http://platial.com/place/28595"/>
<rdf:li resource="http://platial.com/place/28594"/>
<rdf:li resource="http://platial.com/place/28593"/>
<rdf:li resource="http://platial.com/place/28592"/>
<rdf:li resource="http://platial.com/place/28591"/>
<rdf:li resource="http://platial.com/place/28590"/>
<rdf:li resource="http://platial.com/place/28589"/>
<rdf:li resource="http://platial.com/place/28588"/>
<rdf:li resource="http://platial.com/place/28587"/>
<rdf:li resource="http://platial.com/place/28586"/>
<rdf:li resource="http://platial.com/place/28585"/>
<rdf:li resource="http://platial.com/place/28584"/>
<rdf:li resource="http://platial.com/place/28583"/>
<rdf:li resource="http://platial.com/place/28582"/>
<rdf:li resource="http://platial.com/place/28581"/>
<rdf:li resource="http://platial.com/place/28580"/>
<rdf:li resource="http://platial.com/place/28579"/>
<rdf:li resource="http://platial.com/place/28578"/>
<rdf:li resource="http://platial.com/place/28577"/>
<rdf:li resource="http://platial.com/place/28576"/>
<rdf:li resource="http://platial.com/place/28575"/>
<rdf:li resource="http://platial.com/place/28574"/>
<rdf:li resource="http://platial.com/place/28573"/>
<rdf:li resource="http://platial.com/place/28572"/>
<rdf:li resource="http://platial.com/place/28571"/>
<rdf:li resource="http://platial.com/place/28570"/>
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://platial.com/place/90306">
<link>http://platial.com/place/90306</link>
<title>Knitting Room</title>
<description><![CDATA[This little shop is jammed full. Yarn, yarn everywhere. They make the most of every possible nook and cranny. I like this place also because they have a lot of different kinds of knitting needles in all different sizes. Also, the people who work here are younger and hipper than in the other stores I go to. I reccomend buying supplies here and then knitting your way through a good documentary at the Capitol Theater across the street.<br/>Address: 2 lake St, Arlington, MA <br/>Tags: knitting, yarn, pins and needles, handspun, hand dyed, novelty yarn, fancy, simple, young, hip, friendly, needles, addy, cute hats<br /><br /><a href="http://platial.com/place/90306">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/90306">Grab this on Platial</a> ]]></description>
<georss:point>42.405696 -71.142197</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-06-08T17:35:01.942452+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/67230">
<link>http://platial.com/place/67230</link>
<title>Knitting Room</title>
<description><![CDATA[This little shop is jammed full. Yarn, yarn everywhere. They make the most of every possible nook and cranny. I like this place also because they have a lot of different kinds of knitting needles in all different sizes. Also, the people who work here are younger and hipper than in the other stores I go to. I reccomend buying supplies here and then knitting your way through a good documentary at the Capitol Theater across the street.<br/>Address: 2 lake St, Arlington, MA <br/>Tags: knitting, yarn, pins and needles, handspun, hand dyed, novelty yarn, fancy, simple, young, hip, friendly, needles, addy, cute hats<br /><br /><a href="http://platial.com/place/67230">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/67230">Grab this on Platial</a> ]]></description>
<georss:point>42.405524 -71.142273</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-04-24T11:35:26.733857+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/65645">
<link>http://platial.com/place/65645</link>
<title>†¢¢™£ˆøœ</title>
<description><![CDATA[ijeª£∆µˆ˚î<br/>Address: 151 Erie St., Cambridge, MA<br/>Tags: platial graffiti<br /><br /><a href="http://platial.com/place/65645">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/65645">Grab this on Platial</a> ]]></description>
<georss:point>42.352455 -71.110210</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-04-20T08:56:12.696224+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/62200">
<link>http://platial.com/place/62200</link>
<title>Allen Hall</title>
<description><![CDATA[My dorm at UIUC.<br/>Address: 1301 W Gregory Dr, Urbana, IL<br/>Tags: dorm, uiuc, college<br/><a href="http://platial.com/place/62200"><img src="http://platial.comhttp://static.flickr.com/4/8576450_0d59cc2531_s.jpg"/></a><br/><br /><br /><a href="http://platial.com/place/62200">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/62200">Grab this on Platial</a> ]]></description>
<georss:point>40.104172 -88.220623</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-04-14T08:01:01.872873+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28232">
<link>http://platial.com/place/28232</link>
<title>Bagby Hot Springs, OR</title>
<description><![CDATA[Hot spring, temperature: 136 degress F, 58 degress C. However, the area around the springs are not exactly well looked upon by people who know the place.
<br/>Tags: 20s, rosalie, romance, childhood, hike, camping, soak, relax, beautiful, hot springs, bathhouse, favorite, popular, crowded, organized, honeymoon tub, plumbing made from hollowed out trees, hot springs, mt hood, notorious car break in spot, rash, bacteria<br /><br /><a href="http://platial.com/place/28232">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28232">Grab this on Platial</a> ]]></description>
<georss:point>44.936000 -122.173000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:10:18.553063+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/43666">
<link>http://platial.com/place/43666</link>
<title>Shooting Location for "The Field of Dreams" Film</title>
<description><![CDATA[1989's Field of Dreams was a Best Picture Academy Award nominee, and the baseball field in the cornfield still stands today, and has become quite a tourist destination. Games are occasionally played at the field, re-enacting professional baseball at the turn of the 20th Century.<br/>Address: Dyersville, Iowa<br/>Tags: iowa, baseball, movie locations, field of dreams, kevin costner, costner, dyersville, kinsella, james earl jones, chicago black sox, shoeless joe, joe jackson, famous farms, film, movie, cinema, shooting location<br /><br /><a href="http://platial.com/place/43666">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/43666">Grab this on Platial</a> ]]></description>
<georss:point>42.481213 -91.111679</georss:point>
<dc:creator>echinodermata</dc:creator>
<dc:date>2006-03-23T11:40:17.654061+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28394">
<link>http://platial.com/place/28394</link>
<title>Moffetts (Bonneville) Hot Springs, WA</title>
<description><![CDATA[Hot spring, temperature: 97 degress F, 36 degress C<br/>Tags: soak, hot springs, relax, nature<br /><br /><a href="http://platial.com/place/28394">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28394">Grab this on Platial</a> ]]></description>
<georss:point>45.658000 -121.962000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:16:27.329816+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28251">
<link>http://platial.com/place/28251</link>
<title>Austin Hot Springs, OR</title>
<description><![CDATA[Hot spring, temperature: 186 degress F, 86 degress C<br/>Tags: soak, hot springs, relax, nature, popular, crowded<br /><br /><a href="http://platial.com/place/28251">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28251">Grab this on Platial</a> ]]></description>
<georss:point>45.021000 -122.009000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:11:04.489886+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28392">
<link>http://platial.com/place/28392</link>
<title>Rock Creek Hot Springs, WA</title>
<description><![CDATA[Hot spring, temperature: Hot degress F, Hot degress C<br/>Tags: soak, hot springs, relax, nature<br /><br /><a href="http://platial.com/place/28392">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28392">Grab this on Platial</a> ]]></description>
<georss:point>45.723000 -121.927000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:16:22.636855+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28391">
<link>http://platial.com/place/28391</link>
<title>St. Martins (Wind River) Hot Springs, WA</title>
<description><![CDATA[Hot spring, temperature: 120 degress F, 49 degress C<br/>Tags: hot springs, soak, relax, nature, wonderful<br /><br /><a href="http://platial.com/place/28391">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28391">Grab this on Platial</a> ]]></description>
<georss:point>45.728000 -121.800000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:16:20.383244+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28231">
<link>http://platial.com/place/28231</link>
<title>Breitenbush Hot Springs, OR</title>
<description><![CDATA[Hot spring, temperature: 198 degress F, 92 degress C<br/>Tags: hot springs, resort, relax, nature, beautiful, http:www.breitenbush.com, soaking<br /><br /><a href="http://platial.com/place/28231">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28231">Grab this on Platial</a> ]]></description>
<georss:point>44.782000 -121.975000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:10:16.529195+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28393">
<link>http://platial.com/place/28393</link>
<title>Collins Hot Springs, WA</title>
<description><![CDATA[Hot spring, temperature: 122 degress F, 50 degress C<br/>Tags: portland, nice, hot springs, soak<br /><br /><a href="http://platial.com/place/28393">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28393">Grab this on Platial</a> ]]></description>
<georss:point>45.701000 -121.728000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:16:24.648745+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/31685">
<link>http://platial.com/place/31685</link>
<title>Darwin's Ltd.</title>
<description><![CDATA[Nice little coffee shop/cafe, free Wifi, close enough to walk from Harvard Square.<br/>Address: 148 Mount Auburn St, Cambridge, MA<br/>Tags: coffee, beer, sandwiches, freewifi<br/><a href="http://platial.com/place/31685"><img src="http://platial.comhttp://static.flickr.com/38/84885937_74fd3d1025_s.jpg"/></a><br/><br /><br /><a href="http://platial.com/place/31685">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/31685">Grab this on Platial</a> ]]></description>
<georss:point>42.373974 -71.125053</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-10T09:24:08.152985+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28596">
<link>http://platial.com/place/28596</link>
<title>Huckleberry Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: Boiling degress F, Boiling degress C<br /><br /><a href="http://platial.com/place/28596">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28596">Grab this on Platial</a> ]]></description>
<georss:point>44.115000 -110.684000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:32.283094+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28595">
<link>http://platial.com/place/28595</link>
<title>South Entrance Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: 156 degress F, 69 degress C<br/><a href="http://platial.com/place/28595"><img src="http://platial.comhttp://static.flickr.com/52/130989872_f1457f68b5_s.jpg"/></a><br/><br /><br /><a href="http://platial.com/place/28595">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28595">Grab this on Platial</a> ]]></description>
<georss:point>44.142000 -110.656000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:30.279497+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28594">
<link>http://platial.com/place/28594</link>
<title>Crawfish Creek Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: 136 degress F, 58 degress C<br/><a href="http://platial.com/place/28594"><img src="http://platial.comhttp://static.flickr.com/52/128312256_d6a879924c_s.jpg"/></a><br/><br /><br /><a href="http://platial.com/place/28594">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28594">Grab this on Platial</a> ]]></description>
<georss:point>44.157000 -110.699000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:28.280271+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28593">
<link>http://platial.com/place/28593</link>
<title>Crawfish Creek Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: 138 degress F, 59 degress C<br /><br /><a href="http://platial.com/place/28593">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28593">Grab this on Platial</a> ]]></description>
<georss:point>44.165000 -110.723000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:20.364077+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28592">
<link>http://platial.com/place/28592</link>
<title>Snake Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: 136 degress F, 58 degress C<br /><br /><a href="http://platial.com/place/28592">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28592">Grab this on Platial</a> ]]></description>
<georss:point>44.169000 -110.583000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:12.234974+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28591">
<link>http://platial.com/place/28591</link>
<title>Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: 142 degress F, 61 degress C<br /><br /><a href="http://platial.com/place/28591">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28591">Grab this on Platial</a> ]]></description>
<georss:point>44.187000 -110.726000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:10.027857+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28590">
<link>http://platial.com/place/28590</link>
<title>Hot Springs on Upper Snake River, WY</title>
<description><![CDATA[Hot spring, temperature: 167 degress F, 75 degress C<br /><br /><a href="http://platial.com/place/28590">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28590">Grab this on Platial</a> ]]></description>
<georss:point>44.204000 -110.486000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:07.79658+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28589">
<link>http://platial.com/place/28589</link>
<title>Hot Springs on lewis Lake, WY</title>
<description><![CDATA[Hot spring, temperature: 154 degress F, 68 degress C<br /><br /><a href="http://platial.com/place/28589">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28589">Grab this on Platial</a> ]]></description>
<georss:point>44.276000 -110.636000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:05.683418+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28588">
<link>http://platial.com/place/28588</link>
<title>Rustic Geyser, WY</title>
<description><![CDATA[Hot spring, temperature: 199 degress F, 93 degress C<br /><br /><a href="http://platial.com/place/28588">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28588">Grab this on Platial</a> ]]></description>
<georss:point>44.282000 -110.506000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:03.66329+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28587">
<link>http://platial.com/place/28587</link>
<title>Bechler River Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: 194 degress F, 90 degress C<br /><br /><a href="http://platial.com/place/28587">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28587">Grab this on Platial</a> ]]></description>
<georss:point>44.285000 -110.900000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:24:01.611442+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28586">
<link>http://platial.com/place/28586</link>
<title>Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: Boiling degress F, 201 degress C<br /><br /><a href="http://platial.com/place/28586">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28586">Grab this on Platial</a> ]]></description>
<georss:point>44.290000 -110.504000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:59.658699+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28585">
<link>http://platial.com/place/28585</link>
<title>Heart Lake Geyser Basin, WY</title>
<description><![CDATA[Hot spring, temperature: Middle Group degress F, 174 degress C<br /><br /><a href="http://platial.com/place/28585">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28585">Grab this on Platial</a> ]]></description>
<georss:point>44.299000 -110.517000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:57.181801+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28584">
<link>http://platial.com/place/28584</link>
<title>Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: Boiling degress F, 201 degress C<br /><br /><a href="http://platial.com/place/28584">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28584">Grab this on Platial</a> ]]></description>
<georss:point>44.307000 -110.526000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:55.240485+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28583">
<link>http://platial.com/place/28583</link>
<title>Hot Springs on lewis Lake, WY</title>
<description><![CDATA[Hot spring, temperature: 199 degress F, 93 degress C<br /><br /><a href="http://platial.com/place/28583">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28583">Grab this on Platial</a> ]]></description>
<georss:point>44.309000 -110.654000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:53.22295+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28582">
<link>http://platial.com/place/28582</link>
<title>Shoshone Geyser Basin, WY</title>
<description><![CDATA[Hot spring, temperature: 203 degress F, 95 degress C<br /><br /><a href="http://platial.com/place/28582">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28582">Grab this on Platial</a> ]]></description>
<georss:point>44.354000 -110.800000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:51.179049+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28581">
<link>http://platial.com/place/28581</link>
<title>Hot Springs on Continental Divide, WY</title>
<description><![CDATA[Hot spring, temperature: 189 degress F, 87 degress C<br /><br /><a href="http://platial.com/place/28581">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28581">Grab this on Platial</a> ]]></description>
<georss:point>44.401000 -110.936000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:49.077176+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28580">
<link>http://platial.com/place/28580</link>
<title>Hot Springs on Upper Firehole River, WY</title>
<description><![CDATA[Hot spring, temperature: Hot degress F, Hot degress C<br /><br /><a href="http://platial.com/place/28580">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28580">Grab this on Platial</a> ]]></description>
<georss:point>44.404000 -110.824000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:47.054664+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28579">
<link>http://platial.com/place/28579</link>
<title>Summit Lake Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: 162 degress F, 72 degress C<br /><br /><a href="http://platial.com/place/28579">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28579">Grab this on Platial</a> ]]></description>
<georss:point>44.410000 -110.953000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:45.039394+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28578">
<link>http://platial.com/place/28578</link>
<title>Lone Star Geyser Basin, WY</title>
<description><![CDATA[Hot spring, temperature: Footbridge degress F, 183 degress C<br /><br /><a href="http://platial.com/place/28578">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28578">Grab this on Platial</a> ]]></description>
<georss:point>44.414000 -110.817000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:42.938808+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28577">
<link>http://platial.com/place/28577</link>
<title>West. Thumb Geyser Basin, WY</title>
<description><![CDATA[Hot spring, temperature: 203 degress F, 95 degress C<br /><br /><a href="http://platial.com/place/28577">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28577">Grab this on Platial</a> ]]></description>
<georss:point>44.417000 -110.570000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:40.90238+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28576">
<link>http://platial.com/place/28576</link>
<title>Lone Star Geyser, WY</title>
<description><![CDATA[Hot spring, temperature: 199 degress F, 93 degress C<br /><br /><a href="http://platial.com/place/28576">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28576">Grab this on Platial</a> ]]></description>
<georss:point>44.418000 -110.805000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:38.844625+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28575">
<link>http://platial.com/place/28575</link>
<title>Smoke Jumper Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: 198 degress F, 92 degress C<br /><br /><a href="http://platial.com/place/28575">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28575">Grab this on Platial</a> ]]></description>
<georss:point>44.421000 -110.952000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:36.818513+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28574">
<link>http://platial.com/place/28574</link>
<title>West. Thumb Geyser Basin, WY</title>
<description><![CDATA[Hot spring, temperature: 196 degress F, 91 degress C<br /><br /><a href="http://platial.com/place/28574">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28574">Grab this on Platial</a> ]]></description>
<georss:point>44.422000 -110.574000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:34.767729+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28573">
<link>http://platial.com/place/28573</link>
<title>Potts Hot Spring Basin, WY</title>
<description><![CDATA[Hot spring, temperature: 203 degress F, 95 degress C<br /><br /><a href="http://platial.com/place/28573">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28573">Grab this on Platial</a> ]]></description>
<georss:point>44.433000 -110.581000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:32.749915+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28572">
<link>http://platial.com/place/28572</link>
<title>Hot Springs, WY</title>
<description><![CDATA[Hot spring, temperature: Hot degress F, Hot degress C<br /><br /><a href="http://platial.com/place/28572">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28572">Grab this on Platial</a> ]]></description>
<georss:point>44.433000 -110.813000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:30.829745+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28571">
<link>http://platial.com/place/28571</link>
<title>Hot Springs on Continental Divide, WY</title>
<description><![CDATA[Hot spring, temperature: Hot degress F, Hot degress C<br /><br /><a href="http://platial.com/place/28571">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28571">Grab this on Platial</a> ]]></description>
<georss:point>44.438000 -110.977000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:28.730401+00:00</dc:date>
</item>
<item rdf:about="http://platial.com/place/28570">
<link>http://platial.com/place/28570</link>
<title>SouthEastern Group, WY</title>
<description><![CDATA[Hot spring, temperature: 198 degress F, 92 degress C<br /><br /><a href="http://platial.com/place/28570">Map this on Platial</a><br /> <a href="http://platial.com/place_grab/28570">Grab this on Platial</a> ]]></description>
<georss:point>44.459000 -110.817000</georss:point>
<dc:creator>crschmidt</dc:creator>
<dc:date>2006-01-03T23:23:26.706763+00:00</dc:date>
</item>
</rdf:RDF>

View File

@@ -0,0 +1,47 @@
<html>
<head>
<script src="../lib/OpenLayers.js"></script>
<style type="text/css">
ul, li { padding-left: 0px; margin-left: 0px; }
</style>
<title>World Map Query</title>
</head>
<body>
<a id='permalink' href="">Permalink</a><br />
<div style="float:right;width:28%">
<h1 style="font-size:1.3em;">CIA Factbook</h1>
<p style='font-size:.8em;'>Click a country to see statistics about the country below.</p>
<div id="nodeList">
</div>
</div>
<div id="map" style="width:70%; height:90%"></div>
<script defer="defer" type="text/javascript">
OpenLayers.ProxyHost = "/dev/examples/proxy.cgi?url=";
var map = new OpenLayers.Map('map', {'maxResolution':'auto'});
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://world.freemap.in/cgi-bin/mapserv?map=/www/freemap.in/world/map/factbook.map", {'layers': 'factbook'} );
map.addLayer(wms);
map.addControl(new OpenLayers.Control.Permalink('permalink'));
map.zoomToMaxExtent();
map.events.register('click', map, function (e) {
OpenLayers.Util.getElement('nodeList').innerHTML = "Loading... please wait...";
var url = wms.getFullRequestString({
REQUEST: "GetFeatureInfo",
EXCEPTIONS: "application/vnd.ogc.se_xml",
BBOX: wms.map.getExtent().toBBOX(),
X: e.xy.x,
Y: e.xy.y,
INFO_FORMAT: 'text/html',
QUERY_LAYERS: wms.params.LAYERS,
WIDTH: wms.map.size.w,
HEIGHT: wms.map.size.h});
OpenLayers.loadURL(url, '', this, setHTML);
Event.stop(e);
});
function setHTML(response) {
OpenLayers.Util.getElement('nodeList').innerHTML = response.responseText;
}
</script>
</body>
</html>

32
examples/gml-layer.html Normal file
View File

@@ -0,0 +1,32 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
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.zoomToExtent(new OpenLayers.Bounds(-3.922119,44.335327,4.866943,49.553833));
map.addLayer(new OpenLayers.Layer.GML("GML", "gml/polygon.xml"));
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

View File

@@ -0,0 +1,86 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 350px;
border: 1px solid gray;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, drawControl, g;
function serialize(feature) {
feature.attributes = {};
var name = prompt("Name for feature?");
feature.attributes['name'] = name;
s = new XMLSerializer();
var data = g.write(feature.layer.features);
$("gml").value = s.serializeToString(data);
}
function init(){
g = new OpenLayers.Format.GML();
map = new OpenLayers.Map('map');
var wmsLayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'});
var pointLayer = new OpenLayers.Layer.Vector("Point Layer");
pointLayer.onFeatureInsert = serialize;
map.addLayers([wmsLayer, pointLayer]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MousePosition());
drawControls = {
point: new OpenLayers.Control.DrawFeature(pointLayer,
OpenLayers.Handler.Point),
line: new OpenLayers.Control.DrawFeature(pointLayer,
OpenLayers.Handler.Path)
};
for(var key in drawControls) {
map.addControl(drawControls[key]);
}
map.setCenter(new OpenLayers.LonLat(0, 0), 3);
}
function toggleControl(element) {
for(key in drawControls) {
var control = drawControls[key];
if(element.value == key && element.checked) {
control.activate();
} else {
control.deactivate();
}
}
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Draw Point Example</h1>
<div style="float:right">
<ul id="controlToggle">
<li>
<input type="radio" name="type" value="none" id="noneToggle"
onclick="toggleControl(this);" checked="checked" />
<label for="noneToggle">navigate</label>
</li>
<li>
<input type="radio" name="type" value="point" id="pointToggle" onclick="toggleControl(this);" />
<label for="pointToggle">draw point</label>
</li>
<li>
<input type="radio" name="type" value="line" id="lineToggle" onclick="toggleControl(this);" />
<label for="lineToggle">draw line</label>
</li>
</ul>
<p>Check the box to draw points. Uncheck to navigate normally.</p>
<textarea id="gml" cols="80" rows="30"></textarea>
</div>
<div id="map"></div>
</body>
</html>

42
examples/gml/line.xml Normal file
View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<wfs:FeatureCollection xmlns:ms="http://mapserver.gis.umn.edu/mapserver" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd http://mapserver.gis.umn.edu/mapserver http://aneto.oco/cgi-bin/worldwfs?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=line&amp;OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-3.924027,46.037889 2.193186,47.897181</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ms:line fid="1">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-0.631235,46.037889 2.193186,46.704963</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:LineString srsName="EPSG:4326">
<gml:coordinates>-0.631235,46.307557 -0.262215,46.577225 0.106805,46.477874 0.220349,46.293364 0.475824,46.406909 0.887424,46.350136 1.029354,46.563032 1.213864,46.648191 1.526112,46.421102 1.795780,46.066275 2.108028,46.037889 2.178993,46.250785 2.193186,46.492067 2.193186,46.492067 2.051255,46.704963 2.051255,46.704963 </gml:coordinates>
</gml:LineString>
</ms:msGeometry>
<ms:ogc_fid>1</ms:ogc_fid>
<ms:name/>
<ms:id>0</ms:id>
</ms:line>
</gml:featureMember>
<gml:featureMember>
<ms:line fid="2">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-3.924027,46.279171 -1.127992,47.897181</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:LineString srsName="EPSG:4326">
<gml:coordinates>-1.127992,46.279171 -1.369275,46.364329 -1.624750,46.406909 -1.866032,46.492067 -1.993770,46.704963 -2.178280,46.846894 -1.979577,47.059790 -2.164087,47.144948 -2.135700,47.215914 -2.093121,47.357844 -2.277631,47.258493 -2.391176,47.301072 -2.490527,47.315265 -2.476334,47.443003 -2.575686,47.599127 -2.703423,47.542354 -2.873740,47.471389 -3.285339,47.670092 -3.597587,47.769443 -3.824676,47.840409 -3.924027,47.897181 </gml:coordinates>
</gml:LineString>
</ms:msGeometry>
<ms:ogc_fid>2</ms:ogc_fid>
<ms:name/>
<ms:id>0</ms:id>
</ms:line>
</gml:featureMember>
</wfs:FeatureCollection>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<wfs:FeatureCollection xmlns:ms="http://mapserver.gis.umn.edu/mapserver" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd http://mapserver.gis.umn.edu/mapserver http://aneto.oco/cgi-bin/worldwfs?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=multipoint&amp;OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>0.490018,45.001795 3.016384,45.839186</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ms:multipoint fid="1">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>0.930003,45.001795 3.016384,45.541131</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:MultiPoint srsName="EPSG:4326">
<gml:pointMember>
<gml:Point>
<gml:coordinates>2.079641,45.001795</gml:coordinates>
</gml:Point>
</gml:pointMember>
<gml:pointMember>
<gml:Point>
<gml:coordinates>2.718330,45.541131</gml:coordinates>
</gml:Point>
</gml:pointMember>
<gml:pointMember>
<gml:Point>
<gml:coordinates>3.016384,45.143725</gml:coordinates>
</gml:Point>
</gml:pointMember>
<gml:pointMember>
<gml:Point>
<gml:coordinates>0.930003,45.001795</gml:coordinates>
</gml:Point>
</gml:pointMember>
</gml:MultiPoint>
</ms:msGeometry>
<ms:ogc_fid>1</ms:ogc_fid>
<ms:name>4 points</ms:name>
<ms:id>1</ms:id>
</ms:multipoint>
</gml:featureMember>
<gml:featureMember>
<ms:multipoint fid="2">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>0.490018,45.654676 1.157092,45.839186</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:MultiPoint srsName="EPSG:4326">
<gml:pointMember>
<gml:Point>
<gml:coordinates>0.490018,45.654676</gml:coordinates>
</gml:Point>
</gml:pointMember>
<gml:pointMember>
<gml:Point>
<gml:coordinates>1.157092,45.839186</gml:coordinates>
</gml:Point>
</gml:pointMember>
</gml:MultiPoint>
</ms:msGeometry>
<ms:ogc_fid>2</ms:ogc_fid>
<ms:name>2 points</ms:name>
<ms:id>2</ms:id>
</ms:multipoint>
</gml:featureMember>
</wfs:FeatureCollection>

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<wfs:FeatureCollection xmlns:ms="http://mapserver.gis.umn.edu/mapserver" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd http://mapserver.gis.umn.edu/mapserver http://aneto.oco/cgi-bin/worldwfs?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=multipolygon&amp;OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-1.738295,46.307557 3.754424,47.244300</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ms:multipolygon fid="1">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-1.738295,46.605612 1.767394,47.244300</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:MultiPolygon srsName="EPSG:4326">
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>1.313216,46.690770 1.000968,46.861087 0.887424,47.059790 1.142899,47.244300 1.355795,47.244300 1.554498,47.017211 1.710622,47.059790 1.767394,46.747542 1.313216,46.690770 1.313216,46.690770 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>0.731300,46.605612 -0.191250,46.704963 -0.191250,46.846894 0.177770,46.988824 0.447438,46.960438 0.589369,46.804315 0.688721,46.832701 0.731300,46.605612 0.731300,46.605612 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>-1.610557,46.733349 -1.184765,46.704963 -1.198958,46.704963 -0.943483,46.619805 -0.915096,46.818508 -0.659621,46.775928 -0.688007,47.017211 -0.943483,47.003018 -1.127992,47.088176 -1.397661,47.102369 -1.624750,47.073983 -1.738295,46.917859 -1.610557,46.733349 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
</gml:MultiPolygon>
</ms:msGeometry>
<ms:ogc_fid>1</ms:ogc_fid>
<ms:name>My first Multipolygon</ms:name>
<ms:id>0</ms:id>
</ms:multipolygon>
</gml:featureMember>
<gml:featureMember>
<ms:multipolygon fid="2">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>2.789295,46.392716 3.754424,46.903666</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:Polygon srsName="EPSG:4326">
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>2.959612,46.392716 2.789295,46.775928 3.172508,46.903666 3.498949,46.903666 3.498949,46.662384 3.754424,46.563032 2.959612,46.392716 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ms:msGeometry>
<ms:ogc_fid>2</ms:ogc_fid>
<ms:name>My second Multipolygon</ms:name>
<ms:id>0</ms:id>
</ms:multipolygon>
</gml:featureMember>
<gml:featureMember>
<ms:multipolygon fid="3">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>2.207379,46.307557 2.803488,47.045597</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:MultiPolygon srsName="EPSG:4326">
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>2.292538,46.804315 2.207379,47.017211 2.391889,47.045597 2.562206,46.832701 2.292538,46.804315 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>2.789295,46.307557 2.789295,46.307557 2.803488,46.506260 2.618978,46.676577 2.349310,46.633998 2.448661,46.392716 2.789295,46.307557 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
</gml:MultiPolygon>
</ms:msGeometry>
<ms:ogc_fid>3</ms:ogc_fid>
<ms:name>My third Multipolygon</ms:name>
<ms:id>0</ms:id>
</ms:multipolygon>
</gml:featureMember>
</wfs:FeatureCollection>

156
examples/gml/owls.xml Normal file
View File

@@ -0,0 +1,156 @@
<?xml version='1.0' encoding="ISO-8859-1" ?>
<wfs:FeatureCollection
xmlns:bsc="http://www.bsc-eoc.org/bsc"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengeospatial.net//wfs/1.0.0/WFS-basic.xsd
http://www.bsc-eoc.org/bsc http://www.bsc-eoc.org/cgi-bin/bsc_ows.asp?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=OWLS&amp;OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-89.817223,45.005555 -74.755001,51.701388</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<gml:featureMember><bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-79.771668,45.891110 -79.771668,45.891110</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-79.771668,45.891110</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-83.755834,46.365277 -83.755834,46.365277</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:owlname>owl</bsc:owlname>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-83.755834,46.365277</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-83.808612,46.175277 -83.808612,46.175277</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-83.808612,46.175277</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-84.111112,46.309166 -84.111112,46.309166</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-84.111112,46.309166</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-83.678612,46.821110 -83.678612,46.821110</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-83.678612,46.821110</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-83.664445,46.518888 -83.664445,46.518888</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-83.664445,46.518888</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-80.613334,46.730277 -80.613334,46.730277</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-80.613334,46.730277</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-79.676946,45.428054 -79.676946,45.428054</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-79.676946,45.428054</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-83.853056,46.236944 -83.853056,46.236944</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-83.853056,46.236944</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
<gml:featureMember>
<bsc:OWLS>
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-82.289167,45.896388 -82.289167,45.896388</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<bsc:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-82.289167,45.896388</gml:coordinates>
</gml:Point>
</bsc:msGeometry>
</bsc:OWLS>
</gml:featureMember>
</wfs:FeatureCollection>

42
examples/gml/point.xml Normal file
View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<wfs:FeatureCollection xmlns:ms="http://mapserver.gis.umn.edu/mapserver" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd http://mapserver.gis.umn.edu/mapserver http://aneto.oco/cgi-bin/worldwfs?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=point&amp;OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-0.608315,44.857522 -0.021418,45.477577</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ms:point fid="1">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-0.608315,44.857522 -0.608315,44.857522</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-0.608315,44.857522</gml:coordinates>
</gml:Point>
</ms:msGeometry>
<ms:ogc_fid>1</ms:ogc_fid>
<ms:name>Bordeaux</ms:name>
<ms:id>124</ms:id>
</ms:point>
</gml:featureMember>
<gml:featureMember>
<ms:point fid="2">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-0.021418,45.477577 -0.021418,45.477577</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates>-0.021418,45.477577</gml:coordinates>
</gml:Point>
</ms:msGeometry>
<ms:ogc_fid>2</ms:ogc_fid>
<ms:name>Barbezieux</ms:name>
<ms:id>0</ms:id>
</ms:point>
</gml:featureMember>
</wfs:FeatureCollection>

89
examples/gml/polygon.xml Normal file
View File

@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<wfs:FeatureCollection xmlns:ms="http://mapserver.gis.umn.edu/mapserver" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd http://mapserver.gis.umn.edu/mapserver http://aneto.oco/cgi-bin/worldwfs?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=polygon&amp;OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-0.768746,47.003018 3.002191,47.925567</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ms:polygon fid="1">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>-0.768746,47.003018 0.532597,47.925567</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:MultiPolygon srsName="EPSG:4326">
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>-0.318987,47.003018 -0.768746,47.358268 -0.574463,47.684285 -0.347374,47.854602 -0.006740,47.925567 0.135191,47.726864 0.149384,47.599127 0.419052,47.670092 0.532597,47.428810 0.305508,47.443003 0.475824,47.144948 0.064225,47.201721 -0.318987,47.003018 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
<gml:innerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>-0.035126,47.485582 -0.035126,47.485582 -0.049319,47.641706 -0.233829,47.655899 -0.375760,47.457196 -0.276408,47.286879 -0.035126,47.485582 </gml:coordinates>
</gml:LinearRing>
</gml:innerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
</gml:MultiPolygon>
</ms:msGeometry>
<ms:ogc_fid>1</ms:ogc_fid>
<ms:name>My Polygon with hole</ms:name>
<ms:id>0</ms:id>
</ms:polygon>
</gml:featureMember>
<gml:featureMember>
<ms:polygon fid="2">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>1.511919,47.088176 3.002191,47.882988</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:Polygon srsName="EPSG:4326">
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>1.625463,47.357844 1.511919,47.741057 1.880938,47.882988 2.420275,47.797830 2.789295,47.485582 3.002191,47.457196 2.874453,47.088176 2.178993,47.343651 1.625463,47.357844 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ms:msGeometry>
<ms:ogc_fid>2</ms:ogc_fid>
<ms:name>My simple Polygon</ms:name>
<ms:id>0</ms:id>
</ms:polygon>
</gml:featureMember>
<gml:featureMember>
<ms:polygon fid="3">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>0.000000,45.000000 2.000000,47.000000</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:MultiPolygon srsName="EPSG:4326">
<gml:polygonMember>
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>0.000000,45.000000 2.000000,45.000000 2.000000,47.000000 0.000000,47.000000 0.000000,45.000000 </gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
<gml:innerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>0.500000,45.500000 1.500000,45.500000 1.500000,46.500000 0.500000,46.500000 0.500000,45.500000 </gml:coordinates>
</gml:LinearRing>
</gml:innerBoundaryIs>
</gml:Polygon>
</gml:polygonMember>
</gml:MultiPolygon>
</ms:msGeometry>
<ms:ogc_fid>3</ms:ogc_fid>
<ms:name>my polygon with hole</ms:name>
<ms:id>3</ms:id>
</ms:polygon>
</gml:featureMember>
</wfs:FeatureCollection>

83
examples/google.html Normal file
View File

@@ -0,0 +1,83 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 100%;
height: 512px;
border: 1px solid black;
background-color: red;
}
</style>
<!-- this gmaps key generated for http://openlayers.org/dev/ -->
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
<!-- Localhost key -->
<!-- <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTS6gjckBmeABOGXIUiOiZObZESPg'></script>-->
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 17;
var map, layer;
function init(){
map = new OpenLayers.Map( 'map' ,
{ controls: [new OpenLayers.Control.MouseDefaults()] , 'numZoomLevels':20});
var satellite = new OpenLayers.Layer.Google( "Google Satellite" , {type: G_SATELLITE_MAP, 'maxZoomLevel':18} );
map.addLayers([satellite]);
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic', 'transparent':true},
{isBaseLayer: false} );
layer.setVisibility(false);
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic', 'transparent':true},
{isBaseLayer: false} );
layer.setVisibility(false);
map.addLayer(layer);
var twms = new OpenLayers.Layer.WMS( "World Map",
"http://world.freemap.in/cgi-bin/mapserv?",
{map: '/www/freemap.in/world/map/factbooktrans.map', transparent:'true',
layers: 'factbook', 'format':'png'} );
map.addLayer(twms);
markers = new OpenLayers.Layer.Markers("markers");
map.addLayer(markers);
map.setCenter(new OpenLayers.LonLat(10.205188,48.857593), 5);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
map.addControl( new OpenLayers.Control.PanZoomBar() );
}
function add() {
var url = 'http://boston.openguides.org/markers/AQUA.png';
var sz = new OpenLayers.Size(10, 17);
var calculateOffset = function(size) {
return new OpenLayers.Pixel(-(size.w/2), -size.h);
};
var icon = new OpenLayers.Icon(url, sz, null, calculateOffset);
var barcelona = new OpenLayers.LonLat(2.13134765625,
41.37062534198901);
marker = new OpenLayers.Marker(barcelona, icon);
markers.addMarker(marker);
}
function remove() {
markers.removeMarker(marker);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers With Google Layer Example</h1>
<div id="map"></div>
<div style="background-color:green" onclick="add()"> click to add a marker to the map</div>
<div style="background-color:red" onclick="remove()"> click to remove the marker from the map</div>
</body>
</html>

49
examples/gutter.html Normal file
View File

@@ -0,0 +1,49 @@
<html>
<head>
<style type="text/css">
#map {
width: 500px;
height: 300px;
border: 1px solid gray;
}
p.caption {
width: 500px;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 2;
var map;
window.onload = function() {
options = {maxExtent: new OpenLayers.Bounds(-73.5295, 41.2318,
-69.9097, 42.8883),
maxResolution: 0.0003}
map = new OpenLayers.Map('map', options);
var roads15 = new OpenLayers.Layer.WMS( "Roads (15px gutter)",
"http://boston.freemap.in/cgi-bin/mapserv?map=/www/freemap.in/boston/map/gmaps.map&",
{layers: 'roads_200_40'},
{gutter: 15});
var roads = new OpenLayers.Layer.WMS( "Roads (no gutter)",
"http://boston.freemap.in/cgi-bin/mapserv?map=/www/freemap.in/boston/map/gmaps.map&",
{layers: 'roads_200_40'});
map.addLayers([roads, roads15]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.LonLat(-71.848, 42.2), 0);
}
// -->
</script>
</head>
<body>
<h1>OpenLayers Gutter Example</h1>
<div id="map"></div>
<p class="caption">
When you render tiles with certain types of symbols, there are artifacts
at tile edges that make symbology not look continuous. In the center of
the above map (when it first loads), the large orange road is split
vertically by a tile. Open the layer switcher and change to the layer
with a 15 pixel gutter to see how the symbology looks nicer.
</p>
</body>
</html>

51
examples/image-layer.html Normal file
View File

@@ -0,0 +1,51 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
p {
width: 512px;
}
#map {
width: 512px;
height: 256px;
border: 1px solid gray;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map');
var options = {maxResolution: 'auto', 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);
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://wms.jpl.nasa.gov/wms.cgi",
{layers: "modis,global_mosaic"}, options);
map.addLayers([graphic, jpl_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Image Layer Example</h1>
<div id="map"></div>
<p>
The "City Lights" layer above is created from a single web accessible
image. If you construct it without any resolution related options,
the layer will be given a single resolution based on the extent/size.
Otherwise, it behaves much like a regular layer. This is primarily
intended to be used in an overview map - where another layer type
might not make a good overview.
</p>
</body>
</html>

39
examples/kamap.html Normal file
View File

@@ -0,0 +1,39 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map');
var ol_wms = new OpenLayers.Layer.WMS( "World Map",
"http://labs.metacarta.com/wms/vmap0?",
{layers: 'basic'} );
var jpl_wms = new OpenLayers.Layer.KaMap( "Satellite",
"http://www.openlayers.org/world/index.php", {g: "satellite", map: "world"});
var dm_wms = new OpenLayers.Layer.WMS( "Canada",
"http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
{layers: "bathymetry,land_fn,park,drain_fn,drainage," +
"prov_bound,fedlimit,rail,road,popplace",
transparent: "true", format: "image/png" });
map.addLayers([ol_wms, jpl_wms, dm_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

508
examples/kamap.txt Normal file
View File

@@ -0,0 +1,508 @@
<?php
/*
This is a PHP file to be used as a backend for a ka-Map layer. It requires
PHP with Mapscript and libgd modules installed. The top of the file
is a configuration section: please edit the variables in this configuration
section to meet your needs, then rename this file to tile.php or something
similar and put it in a web accessible directory. More information
on the OpenLayers ka-Map layer is available from:
http://trac.openlayers.org/wiki/OpenLayers.Layer.KaMap
*/
/**********************************************************************
*
* $Id: tile.php,v 1.33 2006/02/07 03:19:55 pspencer Exp $
*
* purpose: a simple phpmapscript-based tile renderer that implements
* rudimentary caching for reasonable efficiency. Note the
* cache never shrinks in this version so your disk could
* easily fill up!
*
* author: Paul Spencer (pspencer@dmsolutions.ca)
*
* modifications by Daniel Morissette (dmorissette@dmsolutions.ca)
*
* Modified by Christopher Schmidt for OpenLayers redistribution.
*
**********************************************************************
*
* Copyright (c) 2005, DM Solutions Group Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
**********************************************************************/
/******************************************************************************
* basic system configuration
*
* kaMap! uses PHP/MapScript and the PHP GD extension to
* render tiles, and uses PHP/MapScript to generate initialization parameters
* a legend, and a keymap from the selected map file.
*
* Make sure to set the correct module names for your PHP extensions.
*
* WINDOWS USERS: you will likely need to use php_gd2.dll instead of php_gd.dll
*/
$szPHPMapScriptModule = 'php_mapscript.'.PHP_SHLIB_SUFFIX;
$szPHPGDModule = 'php_gd.'.PHP_SHLIB_SUFFIX;
/******************************************************************************
* tile generation parameters
*
* kaMap! generates tiles to load in the client application by first rendering
* larger areas from the map file and then slicing them up into smaller tiles.
* This approach reduces the overhead of loading PHP/MapScript and PHP GD and
* drawing the map file. These larger areas are referred to as metaTiles in
* the code. You can set the size of both the small tiles and the metaTiles
* here. A reasonable size for the small tiles seems to be 200 pixels square.
* Smaller tiles seem to cause problems in client browsers by causing too many
* images to be created and thus slowing performance of live dragging. Larger
* tiles take longer to download to the client and are inefficient.
*
* The number of smaller tiles that form a metaTile can also be configured.
* This parameter allows tuning of the tile generator to ensure optimal
* performance and for label placement. MapServer will produce labels only
* within a rendered area. If the area is too small then features may be
* labelled multiple times. If the area is too large, it may exceed MapServer,s
* maximum map size (by default 2000x2000) or be too resource-intensive on the
* server, ultimately reducing performance.
*/
$tileWidth = 256;
$tileHeight = 256;
$metaWidth = 5;
$metaHeight = 5;
/* $metaBuffer = Buffer size in pixels to add around metatiles to avoid
* rendering issues along the edge of the map image
*/
$metaBuffer = 10;
/******************************************************************************
* in-image debugging information - tile location, outlines etc.
* to use this, you need to remove images from your cache first. This also
* affects the meta tiles - if debug is on, they are not deleted.
*/
$bDebug = false;
/******************************************************************************
* aszMapFiles - an array of map files available to the application. How this
* is used is determined by the application. Each map file is entered into
* this array as a key->value pair.
*
* The key is the name to be used by the tile caching system to store cached
* tiles within the base cache directory. This key should be a single word
* that uniquely identifies the map.
*
* The value associated with each key is an array of three values. The first
* value is a human-readable name to be presented to the user (should the
* application choose to do so) and the second value is the path to the map
* file. It is assumed that the map file is fully configured for use with
* MapServer/MapScript as no error checking or setting of values is done. The
* third value is an array of scale values for zooming.
*/
$aszMapFiles = array(
"world" => array( "World", "/path/to/your/mapfile",
array( 10000 ), # in openlayers, the scale array doesn't matter.
"PNG24")
/* Add more elements to this array to offer multiple mapfiles */
);
/******************************************************************************
* figure out which map file to use and set up the necessary variables for
* the rest of the code to use. This does need to be done on every page load
* unfortunately.
*
* szMap should be set to the default map file to use but can change if
* this script is called with map=<mapname>.
*/
$szMap = 'world';
/******************************************************************************
* kaMap! caching
*
* this is the directory within which kaMap! will create its tile cache. The
* directory does NOT have to be web-accessible, but it must be writable by the
* web-server-user and allow creation of both directories AND files.
*
* the tile caching system will create a separate subdirectory within the base
* cache directory for each map file. Within the cache directory for each map
* file, directories will be created for each group of layers. Within the group
* directories, directories will be created at each of the configured scales
* for the application (see mapfile configuration above.)
*/
$szBaseCacheDir = "/var/cache/kamap/";
/***** END OF CONFIGURABLE STUFF - unless you know what you are doing *****/
/***** *****/
/***** *****/
/***** *****/
/***** END OF CONFIGURABLE STUFF - unless you know what you are doing *****/
if (isset($_REQUEST['map']) && isset($aszMapFiles[$_REQUEST['map']]))
{
$szMap = $_REQUEST['map'];
}
$szMapCacheDir = $szBaseCacheDir.$szMap."/";
$szMapName = $aszMapFiles[$szMap][0];
$szMapFile = $aszMapFiles[$szMap][1];
$anScales = $aszMapFiles[$szMap][2];
setOutputFormat($aszMapFiles[$szMap][3]);
/******************************************************************************
* output format of the map and resulting tiles
*
* The output format used with MapServer can greatly affect appearance and
* performance. It is recommended to use an 8 bit format such as PNG
*
* NOTE: the tile caching code in tile.php is not configurable here. It
* currently assumes that it is outputting 8bit PNG files. If you change to
* PNG24 here then you will need to update tile.php to use the gd function
* imagecreatetruecolor. If you change the output format to jpeg then
* you would need to change imagepng() to imagejpeg(). A nice enhancement
* would be to make that fully configurable from here.
*/
function setOutputFormat($szFormat)
{
switch($szFormat) {
case "PNG24":
$GLOBALS['szMapImageFormat'] = 'PNG24'; //mapscript format name
$GLOBALS['szMapImageCreateFunction'] = "imagecreatefrompng"; // appropriate GD function
$GLOBALS['szImageExtension'] = '.png'; //file extension
$GLOBALS['szImageCreateFunction'] = "imagecreatetruecolor"; //or imagecreatetruecolor if PNG24 ...
$GLOBALS['szImageOutputFunction'] = "imagepng"; //or imagegif, imagejpeg ...
$GLOBALS['szImageHeader'] = 'image/png'; //the content-type of the image
break;
case "GIF":
$GLOBALS['szMapImageFormat'] = 'GIF'; //mapscript format name
$GLOBALS['szMapImageCreateFunction'] = "imagecreatefromgif"; // appropriate GD function
$GLOBALS['szImageExtension'] = '.gif'; //file extension
$GLOBALS['szImageCreateFunction'] = "imagecreate"; //or imagecreatetruecolor if PNG24 ...
$GLOBALS['szImageOutputFunction'] = "imagegif"; //or imagegif, imagejpeg ...
$GLOBALS['szImageHeader'] = 'image/gif'; //the content-type of the image
break;
case "JPEG":
$GLOBALS['szMapImageFormat'] = 'JPEG'; //mapscript format name
$GLOBALS['szMapImageCreateFunction'] = "imagecreatefromjpeg"; // appropriate GD function
$GLOBALS['szImageExtension'] = '.jpg'; //file extension
$GLOBALS['szImageCreateFunction'] = "imagecreatetruecolor"; //or imagecreatetruecolor if PNG24 ...
$GLOBALS['szImageOutputFunction'] = "imagejpeg"; //or imagegif, imagejpeg ...
$GLOBALS['szImageHeader'] = 'image/jpeg'; //the content-type of the image
break;
case "PNG":
$GLOBALS['szMapImageFormat'] = 'PNG'; //mapscript format name
$GLOBALS['szMapImageCreateFunction'] = "imagecreatefrompng"; // appropriate GD function
$GLOBALS['szImageExtension'] = '.png'; //file extension
$GLOBALS['szImageCreateFunction'] = "imagecreate"; //or imagecreatetruecolor if PNG24 ...
$GLOBALS['szImageOutputFunction'] = "imagepng"; //or imagegif, imagejpeg ...
$GLOBALS['szImageHeader'] = 'image/png'; //the content-type of the image
break;
case "DITHERED":
case "PNG8":
$GLOBALS['szMapImageFormat'] = 'dithered';
$GLOBALS['szMapImageCreateFunction'] = "imagecreatefrompng";
$GLOBALS['szImageExtension'] = '.png';
$GLOBALS['szImageCreateFunction'] = "imagecreate";
$GLOBALS['szImageOutputFunction'] = "imagepng";
$GLOBALS['szImageHeader'] = 'image/png';
break;
}
}
/**
* create all directories in a directory tree - found on the php web site
* under the mkdir function ...
*/
function makeDirs($strPath, $mode = 0775)
{
return is_dir($strPath) or ( makeDirs(dirname($strPath), $mode) and mkdir($strPath, $mode) );
}
/**
* This function replaces all special characters in the given string.
*
* @param szString string - The string to convert.
*
* @return string converted
*/
function normalizeString($szString)
{
// Normalize string by replacing all special characters
// e.g. "http://my.host.com/cgi-bin/mywms?"
// becomes "http___my_host_com_cgi_bin_mywms_"
return preg_replace("/(\W)/", "_", $szString);
}
/* bug 1253 - root permissions required to delete cached files */
$orig_umask = umask(0);
/* create the main cache directory if necessary */
if (!@is_dir($szMapCacheDir))
makeDirs($szMapCacheDir);
/* get the various request parameters
* also need to make sure inputs are clean, especially those used to
* build paths and filenames
*/
/*
* the tile renderer accepts several parameters and returns a tile image from
* the cache, creating the tile only if necessary.
*
* all requests include the pixel location of the request at a certain scale
* and this script figures out the geographic location of the tile from the
* scale assuming that 0,0 in pixels is 0,0 in geographic units
*
* Request parameters are:
*
* map: the name of the map to use. This is handled by config.php.
*
* t: top pixel position
* l: left pixel position
* s: scale
* g: (optional) comma-delimited list of group names to draw
* layers: (optional) comma-delimited list of layers to draw
* force: optional. If set, force redraw of the meta tile. This was added to
* help with invalid images sometimes being generated.
* tileid: (optional) can be used instead of t+l to specify the tile coord.,
* useful in regenerating the cache
*/
$top = isset( $_REQUEST['t'] ) ? intval($_REQUEST['t']) : 0;
$left = isset( $_REQUEST['l'] ) ? intval($_REQUEST['l']) : 0;
$scale = isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : $anScales[0];
$bForce = isset($_REQUEST['force'])? true : false;
$groups = isset( $_REQUEST['g'] ) ? $_REQUEST['g'] : "";
$layers = isset( $_REQUEST['layers'] ) ? $_REQUEST['layers'] : "";
// dynamic imageformat ----------------------------------------------
//use the function in config.php to set the output format
if (isset($_REQUEST['i']))
setOutputFormat( $_REQUEST['i'] );
//----------------------------------------------------------------
/* tileid=t#####l#### can be used instead of t+l parameters. Useful in
* regenerating the cache for instance.
*/
if (isset( $_REQUEST['tileid']) &&
preg_match("/t(-?\d+)l(-?\d+)/", $_REQUEST['tileid'], $aMatch) )
{
$top = intval($aMatch[1]);
$left = intval($aMatch[2]);
}
/* Calculate the metatile's top-left corner coordinates.
* Include the $metaBuffer around the metatile to account for various
* rendering issues happening around the edge of a map
*/
$metaLeft = floor( ($left)/($tileWidth*$metaWidth) ) * $tileWidth * $metaWidth;
$metaTop = floor( ($top)/($tileHeight*$metaHeight) ) * $tileHeight *$metaHeight;
$szMetaTileId = "t".$metaTop."l".$metaLeft;
$metaLeft -= $metaBuffer;
$metaTop -= $metaBuffer;
/* caching is done by scale value, then groups and layers and finally metatile
* and tile id. Create a new directory if necessary
*/
$szGroupDir = $groups != "" ? normalizeString($groups) : "def";
$szLayerDir = $layers != "" ? normalizeString($layers) : "def";
$szCacheDir = $szMapCacheDir."/".$scale."/".$szGroupDir."/".$szLayerDir."/".$szMetaTileId;
if (!@is_dir($szCacheDir))
makeDirs($szCacheDir);
/* resolve cache hit - clear the os stat cache if necessary */
$szTileId = "t".$top."l".$left;
$szCacheFile = $szCacheDir."/".$szTileId.$szImageExtension;
clearstatcache();
$szMetaDir = $szCacheDir."/meta";
if (!@is_Dir($szMetaDir))
makeDirs($szMetaDir);
/* simple locking in case there are several requests for the same meta
tile at the same time - only draw it once to help with performance */
$szLockFile = $szMetaDir."/lock_".$metaTop."_".$metaLeft;
$fpLockFile = fopen($szLockFile, "a+");
clearstatcache();
if (!file_exists($szCacheFile) || $bForce)
{
flock($fpLockFile, LOCK_EX);
fwrite($fpLockFile, ".");
//check once more to see if the cache file was created while waiting for
//the lock
clearstatcache();
if (!file_exists($szCacheFile) || $bForce)
{
if (!extension_loaded('MapScript'))
{
dl( $szPHPMapScriptModule );
}
if (!extension_loaded('gd'))
{
dl( $szPHPGDModule);
}
if (!@is_Dir($szMetaDir))
makeDirs($szMetaDir);
$oMap = ms_newMapObj($szMapFile);
/* Metatile width/height include 2x the metaBuffer value */
$oMap->set('width', $tileWidth * $metaWidth + 2*$metaBuffer);
$oMap->set('height', $tileHeight * $metaHeight + 2*$metaBuffer);
/* Tell MapServer to not render labels inside the metaBuffer area
* (new in 4.6)
* TODO: Until MapServer bugs 1353/1355 are resolved, we need to
* pass a negative value for "labelcache_map_edge_buffer"
*/
$oMap->setMetadata("labelcache_map_edge_buffer", -$metaBuffer);
$inchesPerUnit = array(1, 12, 63360.0, 39.3701, 39370.1, 4374754);
$geoWidth = $scale/($oMap->resolution*$inchesPerUnit[$oMap->units]);
$geoHeight = $scale/($oMap->resolution*$inchesPerUnit[$oMap->units]);
/* draw the metatile */
$minx = $metaLeft * $geoWidth;
$maxx = $minx + $geoWidth * $oMap->width;
$maxy = -1 * $metaTop * $geoHeight;
$miny = $maxy - $geoHeight * $oMap->height;
$nLayers = $oMap->numlayers;
$oMap->setExtent($minx,$miny,$maxx,$maxy);
$oMap->selectOutputFormat( $szMapImageFormat );
$aszLayers = array();
if ($groups || $layers)
{
/* Draw only specified layers instead of default from mapfile*/
if ($layers)
{
$aszLayers = explode(",", $layers);
}
if ($groups)
{
$aszGroups = explode(",", $groups);
}
for($i=0;$i<$nLayers;$i++)
{
$oLayer = $oMap->getLayer($i);
if (($aszGroups && in_array($oLayer->group,$aszGroups)) ||
($aszLayers && in_array($oLayer->name,$aszLayers)) ||
($aszGroups && $oLayer->group == '' &&
in_array( "__base__", $aszGroups)))
{
$oLayer->set("status", MS_ON );
}
else
{
$oLayer->set("status", MS_OFF );
}
}
//need transparency if groups or layers are used
$oMap->outputformat->set("transparent", MS_ON );
}
else
{
$oMap->outputformat->set("transparent", MS_OFF );
}
$szMetaImg = $szMetaDir."/t".$metaTop."l".$metaLeft.$szImageExtension;
$oImg = $oMap->draw();
$oImg->saveImage($szMetaImg);
$oImg->free();
eval("\$oGDImg = ".$szMapImageCreateFunction."('".$szMetaImg."');");
if ($bDebug)
{
$blue = imagecolorallocate($oGDImg, 0, 0, 255);
imagerectangle($oGDImg, 0, 0, $tileWidth * $metaWidth - 1, $tileHeight * $metaHeight - 1, $blue );
}
for($i=0;$i<$metaWidth;$i++)
{
for ($j=0;$j<$metaHeight;$j++)
{
eval("\$oTile = ".$szImageCreateFunction."( ".$tileWidth.",".$tileHeight." );");
// Allocate BG color for the tile (in case the metatile has transparent BG)
$nTransparent = imagecolorallocate($oTile, $oMap->imagecolor->red, $oMap->imagecolor->green, $oMap->imagecolor->blue);
//if ($oMap->outputformat->transparent == MS_ON)
//{
imagecolortransparent( $oTile,$nTransparent);
//}
$tileTop = $j*$tileHeight + $metaBuffer;
$tileLeft = $i*$tileWidth + $metaBuffer;
imagecopy( $oTile, $oGDImg, 0, 0, $tileLeft, $tileTop, $tileWidth, $tileHeight );
/* debugging stuff */
if ($bDebug)
{
$black = imagecolorallocate($oTile, 1, 1, 1);
$green = imagecolorallocate($oTile, 0, 128, 0 );
$red = imagecolorallocate($oTile, 255, 0, 0);
imagerectangle( $oTile, 1, 1, $tileWidth-2, $tileHeight-2, $green );
imageline( $oTile, 0, $tileHeight/2, $tileWidth-1, $tileHeight/2, $red);
imageline( $oTile, $tileWidth/2, 0, $tileWidth/2, $tileHeight-1, $red);
imagestring ( $oTile, 3, 10, 10, ($metaLeft+$tileLeft)." x ".($metaTop+$tileTop), $black );
imagestring ( $oTile, 3, 10, 30, ($minx+$i*$geoWidth)." x ".($maxy - $j*$geoHeight), $black );
}
$szTileImg = $szCacheDir."/t".($metaTop+$tileTop)."l".($metaLeft+$tileLeft).$szImageExtension;
eval("$szImageOutputFunction( \$oTile, '".$szTileImg."' );");
imagedestroy($oTile);
$oTile = null;
}
}
if ($oGDImg != null)
{
imagedestroy($oGDImg);
$oGDImg = null;
}
if (!$bDebug)
{
unlink( $szMetaImg );
}
}
//release the exclusive lock
flock($fpLockFile, LOCK_UN );
}
//acquire shared lock for reading to prevent a problem that could occur
//if a tile exists but is only partially generated.
flock($fpLockFile, LOCK_SH);
$h = fopen($szCacheFile, "r");
header("Content-Type: ".$szImageHeader);
header("Content-Length: " . filesize($szCacheFile));
header("Expires: " . date( "D, d M Y H:i:s GMT", time() + 31536000 ));
header("Cache-Control: max-age=31536000, must-revalidate" );
fpassthru($h);
fclose($h);
//release lock
fclose($fpLockFile);
/* bug 1253 - root permissions required to delete cached files */
umask($orig_umask);
exit;
?>

View File

@@ -0,0 +1,32 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
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/lines.kml", {format: OpenLayers.Format.KML}));
map.zoomToExtent(new OpenLayers.Bounds(-112.292744,36.068477,-112.22408,36.109246));
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

32
examples/kml-layer.html Normal file
View File

@@ -0,0 +1,32 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
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/mc-search.kml", {format: OpenLayers.Format.KML}));
map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

267
examples/kml/lines.kml Normal file
View File

@@ -0,0 +1,267 @@
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<name>KML Samples</name>
<open>1</open>
<description>Unleash your creativity with the help of these examples!</description>
<Style id="downArrowIcon">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal4/icon28.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="globeIcon">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pal3/icon19.png</href>
</Icon>
</IconStyle>
<LineStyle>
<width>2</width>
</LineStyle>
</Style>
<Style id="transPurpleLineGreenPoly">
<LineStyle>
<color>7fff00ff</color>
<width>4</width>
</LineStyle>
<PolyStyle>
<color>7f00ff00</color>
</PolyStyle>
</Style>
<Style id="yellowLineGreenPoly">
<LineStyle>
<color>7f00ffff</color>
<width>4</width>
</LineStyle>
<PolyStyle>
<color>7f00ff00</color>
</PolyStyle>
</Style>
<Style id="thickBlackLine">
<LineStyle>
<color>87000000</color>
<width>10</width>
</LineStyle>
</Style>
<Style id="redLineBluePoly">
<LineStyle>
<color>ff0000ff</color>
</LineStyle>
<PolyStyle>
<color>ffff0000</color>
</PolyStyle>
</Style>
<Style id="blueLineRedPoly">
<LineStyle>
<color>ffff0000</color>
</LineStyle>
<PolyStyle>
<color>ff0000ff</color>
</PolyStyle>
</Style>
<Style id="transRedPoly">
<LineStyle>
<width>1.5</width>
</LineStyle>
<PolyStyle>
<color>7d0000ff</color>
</PolyStyle>
</Style>
<Style id="transBluePoly">
<LineStyle>
<width>1.5</width>
</LineStyle>
<PolyStyle>
<color>7dff0000</color>
</PolyStyle>
</Style>
<Style id="transGreenPoly">
<LineStyle>
<width>1.5</width>
</LineStyle>
<PolyStyle>
<color>7d00ff00</color>
</PolyStyle>
</Style>
<Style id="transYellowPoly">
<LineStyle>
<width>1.5</width>
</LineStyle>
<PolyStyle>
<color>7d00ffff</color>
</PolyStyle>
</Style>
<Style id="noDrivingDirections">
<BalloonStyle>
<text><![CDATA[
<b>$[name]</b>
<br /><br />
$[description]
]]></text>
</BalloonStyle>
</Style>
<Folder>
<name>Paths</name>
<visibility>0</visibility>
<description>Examples of paths. Note that the tessellate tag is by default
set to 0. If you want to create tessellated lines, they must be authored
(or edited) directly in KML.</description>
<Placemark>
<name>Tessellated</name>
<visibility>0</visibility>
<description><![CDATA[If the <tessellate> tag has a value of 1, the line will contour to the underlying terrain]]></description>
<LookAt>
<longitude>-112.0822680013139</longitude>
<latitude>36.09825589333556</latitude>
<altitude>0</altitude>
<range>2889.145007690472</range>
<tilt>62.04855796276328</tilt>
<heading>103.8120432044965</heading>
</LookAt>
<LineString>
<tessellate>1</tessellate>
<coordinates> -112.0814237830345,36.10677870477137,0
-112.0870267752693,36.0905099328766,0 </coordinates>
</LineString>
</Placemark>
<Placemark>
<name>Untessellated</name>
<visibility>0</visibility>
<description><![CDATA[If the <tessellate> tag has a value of 0, the line follow a simple straight-line path from point to point]]></description>
<LookAt>
<longitude>-112.0822680013139</longitude>
<latitude>36.09825589333556</latitude>
<altitude>0</altitude>
<range>2889.145007690472</range>
<tilt>62.04855796276328</tilt>
<heading>103.8120432044965</heading>
</LookAt>
<LineString>
<tessellate>0</tessellate>
<coordinates> -112.080622229595,36.10673460007995,0
-112.085242575315,36.09049598612422,0 </coordinates>
</LineString>
</Placemark>
<Placemark>
<name>Absolute</name>
<visibility>0</visibility>
<description>Transparent purple line</description>
<LookAt>
<longitude>-112.2719329043177</longitude>
<latitude>36.08890633450894</latitude>
<altitude>0</altitude>
<range>2569.386744398339</range>
<tilt>44.60763714063257</tilt>
<heading>-106.8161545998597</heading>
</LookAt>
<styleUrl>#transPurpleLineGreenPoly</styleUrl>
<LineString>
<tessellate>1</tessellate>
<altitudeMode>absolute</altitudeMode>
<coordinates> -112.265654928602,36.09447672602546,2357
-112.2660384528238,36.09342608838671,2357
-112.2668139013453,36.09251058776881,2357
-112.2677826834445,36.09189827357996,2357
-112.2688557510952,36.0913137941187,2357
-112.2694810717219,36.0903677207521,2357
-112.2695268555611,36.08932171487285,2357
-112.2690144567276,36.08850916060472,2357
-112.2681528815339,36.08753813597956,2357
-112.2670588176031,36.08682685262568,2357
-112.2657374587321,36.08646312301303,2357 </coordinates>
</LineString>
</Placemark>
<Placemark>
<name>Absolute Extruded</name>
<visibility>0</visibility>
<description>Transparent green wall with yellow outlines</description>
<LookAt>
<longitude>-112.2643334742529</longitude>
<latitude>36.08563154742419</latitude>
<altitude>0</altitude>
<range>4451.842204068102</range>
<tilt>44.61038665812578</tilt>
<heading>-125.7518698668815</heading>
</LookAt>
<styleUrl>#yellowLineGreenPoly</styleUrl>
<LineString>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>absolute</altitudeMode>
<coordinates> -112.2550785337791,36.07954952145647,2357
-112.2549277039738,36.08117083492122,2357
-112.2552505069063,36.08260761307279,2357
-112.2564540158376,36.08395660588506,2357
-112.2580238976449,36.08511401044813,2357
-112.2595218489022,36.08584355239394,2357
-112.2608216347552,36.08612634548589,2357
-112.262073428656,36.08626019085147,2357
-112.2633204928495,36.08621519860091,2357
-112.2644963846444,36.08627897945274,2357
-112.2656969554589,36.08649599090644,2357 </coordinates>
</LineString>
</Placemark>
<Placemark>
<name>Relative</name>
<visibility>0</visibility>
<description>Black line (10 pixels wide), height tracks terrain</description>
<LookAt>
<longitude>-112.2580438551384</longitude>
<latitude>36.1072674824385</latitude>
<altitude>0</altitude>
<range>2927.61105910266</range>
<tilt>44.61324882043339</tilt>
<heading>4.947421249553717</heading>
</LookAt>
<styleUrl>#thickBlackLine</styleUrl>
<LineString>
<tessellate>1</tessellate>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates> -112.2532845153347,36.09886943729116,645
-112.2540466121145,36.09919570465255,645
-112.254734666947,36.09984998366178,645
-112.255493345654,36.10051310621746,645
-112.2563157098468,36.10108441943419,645
-112.2568033076439,36.10159722088088,645
-112.257494011321,36.10204323542867,645
-112.2584106072308,36.10229131995655,645
-112.2596588987972,36.10240001286358,645
-112.2610581199487,36.10213176873407,645
-112.2626285262793,36.10157011437219,645 </coordinates>
</LineString>
</Placemark>
<Placemark>
<name>Relative Extruded</name>
<visibility>0</visibility>
<description>Opaque blue walls with red outline, height tracks terrain</description>
<LookAt>
<longitude>-112.2683594333433</longitude>
<latitude>36.09884362144909</latitude>
<altitude>0</altitude>
<range>2184.193522571467</range>
<tilt>44.60855445139561</tilt>
<heading>-72.24271551768405</heading>
</LookAt>
<styleUrl>#redLineBluePoly</styleUrl>
<LineString>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates> -112.2656634181359,36.09445214722695,630
-112.2652238941097,36.09520916122063,630
-112.2645079986395,36.09580763864907,630
-112.2638827428817,36.09628572284063,630
-112.2635746835406,36.09679275951239,630
-112.2635711822407,36.09740038871899,630
-112.2640296531825,36.09804913435539,630
-112.264327720538,36.09880337400301,630
-112.2642436562271,36.09963644790288,630
-112.2639148687042,36.10055381117246,630
-112.2626894973474,36.10149062823369,630 </coordinates>
</LineString>
</Placemark>
</Folder>
</Document>
</kml>

332
examples/kml/mc-search.kml Normal file
View File

@@ -0,0 +1,332 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<!--MetaCarta GTS v3.7.0, KML Search API v1.0.0-->
<name><![CDATA[MetaCarta: ]]></name>
<description><![CDATA[Labeling <b>28</b> locations. Of 27,281,538 total documents, <b>~26,900,000</b> documents match <i>&lt;no keywords&gt;</i> in this region.]]></description>
<visibility>1</visibility>
<LookAt>
<longitude>-82.575000</longitude>
<latitude>27.498610</latitude>
<range>6000000.0</range>
<tilt>0.0</tilt>
<heading>0.0</heading>
</LookAt>
<Style id="rel1.0">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc1.0.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.9">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.9.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.8">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.8.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.7">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.7.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.6">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.6.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.5">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.5.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.4">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.4.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.3">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.3.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.2">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.2.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.1">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.1.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="rel0.0">
<IconStyle>
<Icon>
<href>http://developers.metacarta.com/img/symbols/mc0.0.png</href>
</Icon>
</IconStyle>
</Style>
<Placemark>
<!-- OGM5MmVhYTI3MTRkNzY2NDQ5YzgzMjBkYzQ3M2Q1YzYsaWJlcnVzLm1ldGFjYXJ0YS5jb206MTYwNzBfMTE2MzYyMjk0MV8xMTcyNjg1ODk5XzAwOjE4OjhiOjM4OjM2OjQ3LDE2NjI2ODQ=, 0.959452 -->
<name><![CDATA[Bradenton]]></name>
<description><![CDATA[<a href="http://www.fhp.state.fl.us/html/TroopF/Bradenton.html">FHP: Troop F Bradenton District</a><br>FHP: Troop F <font color="red">Bradenton</font> District Bradento<br>FHP: Troop F Bradenton District Bradenton District The Bradenton District is located at Troop F Headquarters and includes all of Manatee County. The Bradenton District ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-82.575000, 27.498610</coordinates>
</Point>
</Placemark><Placemark>
<!-- N2M0OTk4NzMxMWFjOGQ1MzgwY2NmNzBlOWIzODg3OGYsdW1icm86MTYxMzlfMTE2OTg0MDM4MV8xMTY5ODQ1MDQ5XzAwOjE4OjhiOjNhOjcwOmZkLDE4NTQzNw==, 0.959452 -->
<name><![CDATA[Pezinok]]></name>
<description><![CDATA[<a href="http://en.wikipedia.org/wiki/Pezinok"> Pezinok</a><br><font color="red">Pezinok</font> Coor titl<br>Pezinok Coor title dm4616N1716Etype:cityregion:SK Infobox Slovak town image_coat_of_arms subject_name Pezinok slovak_region Bratislava Region slovak_district ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>17.266666, 48.283333</coordinates>
</Point>
</Placemark><Placemark>
<!-- MzE1OWQ0MTUwNTUzOGQxODBiNGYwZjU3MThmYzMwY2IsanVsaWEubWV0YWNhcnRhLmNvbToxNjAzNl8xMTYzNjM0MjI4XzExNjU5Nzk3MTVfMDA6MTg6OGI6MzU6MDA6ZGMsNzQ3MzQ2, 0.959452 -->
<name><![CDATA[Purcellville]]></name>
<description><![CDATA[<a href="http://www.loudoun.gov:80/compplan/purcellville.htm">Purcellville Urban Growth Area Management Plan</a><br><font color="red">Purcellville</font> Urban Growth Are<br>Purcellville Urban Growth Area Management Plan Skip Navigation Purcellville Urban Growth Area Management Plan Welcome to the Purcellville Urban Growth Area Management ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-77.715000, 39.136670</coordinates>
</Point>
</Placemark><Placemark>
<!-- N2UxY2EwYzY0YzBhMTAzNTg1NWFkY2YzZWU2NjdhZWIsa3VwYS5tZXRhY2FydGEuY29tOjE2MDAxXzExNjM2NjM1MjRfMTE2NzM0NjY3NF8wMDoxODo4YjozODozNjo3OSw5MzY1NDI=, 0.958984 -->
<name><![CDATA[Calaveras County]]></name>
<description><![CDATA[<a href="http://www.co.calaveras.ca.us:80/departments/pub_health/PHD_WNV.html">Calaveras County Public Health</a><br><font color="red">Calaveras County</font> Public Healt<br>Calaveras County Public Health County of Calaveras Public Health Department West Nile Virus (WNV) WNV is a disease that is spread to ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-120.583330, 38.166670</coordinates>
</Point>
</Placemark><Placemark>
<!-- ZWFhZDJkYTk0MmNlMWU4Yzc1OWViODIyYzU5ZGE4ZDcsdW1icm86MTYxNDFfMTE2OTg0ODM4M18xMTY5ODUxMDgxXzAwOjE4OjhiOjNhOjcwOmZkLDUxNTIw, 0.958964 -->
<name><![CDATA[Kolkata]]></name>
<description><![CDATA[<a href="http://en.wikipedia.org/wiki/Kolkata_Film_Festival"> Kolkata Film Festival</a><br><font color="red">Kolkata</font> Film Festiva<br>Kolkata Film Festival '''Kolkata Film Festival''' is an annual international film festival held in Kolkata in the Indian state of West Bengal ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>88.369722, 22.569722</coordinates>
</Point>
</Placemark><Placemark>
<!-- ZDhiYjJhNTZlNmM1ZGU4YjAzOWZiNTc5NzAxM2RlNWYsaWJlcnVzLm1ldGFjYXJ0YS5jb206MTYwNzJfMTE2MzY4NTU2MV8xMTcyNjg1OTAyXzAwOjE4OjhiOjM4OjM2OjQ3LDk2NTMxOA==, 0.958964
ZDEwNjIwYTdjMjc2MmM4MDQ3NWNjYTY0ZWVjZDI4MjAsaWJlcnVzLm1ldGFjYXJ0YS5jb206MTYwNzBfMTE2MzYyMjk0MV8xMTcyNjg1ODk5XzAwOjE4OjhiOjM4OjM2OjQ3LDMwNTU0OQ==, 0.958475
YmVjMjRjZTYxZDJhYjMyYTE3MjY0YzNkNTg4ODMyYzIsa3VwYS5tZXRhY2FydGEuY29tOjE2MDAwXzExNjM2MzI4MDhfMTE2NzM0NjY3Ml8wMDoxODo4YjozODozNjo3OSw4ODg2Mw==, 0.958475 -->
<name><![CDATA[South Yorkshire]]></name>
<description><![CDATA[<a href="http://www.southyorkshire.nhs.uk:80/strategy/index.htm">South Yorkshire Strategic Health Authority - Events - Deliver...</a><br><font color="red">South Yorkshire</font> Strategic Healt<br>South Yorkshire Strategic Health Authority - Events - Delivering Excellence event 12th June 2003 Welcome What's new Local services Performance --&gt; Strategy Service redesign ...<br><br><a href="http://www.southyorkshire.nhs.uk:80/">South Yorkshire Strategic Health Authority - Welcome</a><br><font color="red">South Yorkshire</font> Strategic Healt<br>South Yorkshire Strategic Health Authority - Welcome --&gt; Welcome What's new Local services Performance --&gt; Strategy Service redesign Franchise plan Local delivery plan Structure ...<br><br><a href="http://www.southyorkshire.nhs.uk:80/index.html">South Yorkshire Strategic Health Authority - Welcome</a><br><font color="red">South Yorkshire</font> Strategic Healt<br>South Yorkshire Strategic Health Authority - Welcome --&gt; Welcome What's new Local services Performance --&gt; Strategy Service redesign Franchise plan Local delivery plan Structure ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-1.250000, 53.450000</coordinates>
</Point>
</Placemark><Placemark>
<!-- MWE4NWQ2N2U4ZmI3MDk5MjNiNmJlYzE4NzMxOTdhOTIsanVsaWEubWV0YWNhcnRhLmNvbToxNjUyNF8xMTY5ODQzMzQ1XzExNjk4NDg2OTRfMDA6MTg6OGI6MzU6MDA6ZGMsNTI1OTcx, 0.958964
ZDZjY2I2Mjk2OTNmMmVjMGJhMzY1NTIyMGEzZGZjYTQsanVsaWEubWV0YWNhcnRhLmNvbToxNjUwMl8xMTY5ODMwMDU5XzExNjk4MzU0MThfMDA6MTg6OGI6MzU6MDA6ZGMsMjMwNjQw, 0.958475 -->
<name><![CDATA[Gaithersburg]]></name>
<description><![CDATA[<a href="http://alert.gaithersburgmd.gov/faq.php">Frequently Asked Questions</a><br>What is Alert <font color="red">Gaithersburg</font>? What is an Aler<br>... email address password Lost password? Gaithersburg Home Alert Home New User Learn More FAQ Support Frequently Asked Questions What is Alert Gaithersburg? What is an Alert Gaithersburg account? How does Alert Gaithersburg work? Will my cell phone work? What is text messaging and ...<br><br><a href="http://alert.gaithersburgmd.gov/index.php?CCheck=1">Alert Gaithersburg</a><br>Alert <font color="red">Gaithersburg</font> USER LOGIN emai<br>Alert Gaithersburg USER LOGIN email address password Lost password? Gaithersburg Home Alert Home New User Learn More FAQ Support This application requires Javascript ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-77.201670, 39.143330</coordinates>
</Point>
</Placemark><Placemark>
<!-- ZjQ4MDJjN2FiNzMxNjk3NzNkN2ZhNDQzZDk5OTkxYTgsaWJlcnVzLm1ldGFjYXJ0YS5jb206MTYwNzJfMTE2MzY4NTU2MV8xMTcyNjg1OTAyXzAwOjE4OjhiOjM4OjM2OjQ3LDU4OTU1Mw==, 0.958964 -->
<name><![CDATA[Pocatello]]></name>
<description><![CDATA[<a href="http://www.idahoparks.org/about/permits/bannock_ski.html">Bannock</a><br>Cycle 404 S Arthur <font color="red">Pocatello</font> 232.3711 City o<br>Bannock Bannock County Gateway Cycle 404 S Arthur Pocatello 232.3711 City of Pocatello 902 Sherman St Pocatello 234.6237 ISU Outdoor Program Student Union Bldg Pocatello 236.3912 The ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-112.444720, 42.871390</coordinates>
</Point>
</Placemark><Placemark>
<!-- MjY4NTdkZmI2NWU3YjFiNGY3MzExZTY5N2FlYTVhMGYsaWJlcnVzLm1ldGFjYXJ0YS5jb206MTYwNzNfMTE2MzY5OTA3OF8xMTcyNjg1OTAyXzAwOjE4OjhiOjM4OjM2OjQ3LDMwNjE2, 0.958964 -->
<name><![CDATA[le Cambodge]]></name>
<description><![CDATA[<a href="http://www.who.int/www.who.int/mediacentre/news/releases/2004/pr46/fr/index.html">OMS | Avec 75 % des enfants protA<74>gA<67>s contre les parasites, ...</a><br>les parasites, <font color="red">le Cambodge</font> est le premier pay<br>OMS | Avec 75 % des enfants protA<74>gA<67>s contre les parasites, le Cambodge est le premier pays A<> atteindre l'objectif Ensemble de l'OMS Ce site seulement Page d'accueil OMS Pays ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>105.000000, 13.000000</coordinates>
</Point>
</Placemark><Placemark>
<!-- N2Y2NTdhYmM5MzExOTgwZDc1ODFiZTk2MDMyZmMxN2UsanVsaWEubWV0YWNhcnRhLmNvbToxNjQ5MV8xMTY5ODIzMzkxXzExNjk4MjkyMDJfMDA6MTg6OGI6MzU6MDA6ZGMsNDIyNTIw, 0.958964 -->
<name><![CDATA[firenze]]></name>
<description><![CDATA[<a href="http://groups.google.it:80/group/italia.firenze.discussioni/browse_thread/thread/39c8b8700af2691b/b53d680269651f65#b53d680269651f65">Google Gruppi : italia.firenze.discussioni</a><br>Gruppi : italia.<font color="red">firenze</font>.discussioni Hom<br>Google Gruppi : italia.firenze.discussioni Home page di Gruppi | Guida | Entra Web Immagini Gruppi Directory News altro <20> Ricerca avanzata nei Gruppi Preferenze Membri: Entra ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>11.250000, 43.766666</coordinates>
</Point>
</Placemark><Placemark>
<!-- YTU5NzdlYmNkNmUzYWM4MTQzODY4MjFiMmQ5OWQzMzIsanVsaWEubWV0YWNhcnRhLmNvbToxNjUxM18xMTY5ODM2NjAxXzExNjk4NDIzNzZfMDA6MTg6OGI6MzU6MDA6ZGMsNDU2NjYz, 0.958475
ZDNlZTdjNTM1OTRhOTk5MDUyMjAzNzIwMGMxNGQ3NWMsa3VwYS5tZXRhY2FydGEuY29tOjE2MDE1XzExNjQ1MTMzODRfMTE2NzM0NjY3NV8wMDoxODo4YjozODozNjo3OSwyOTgyOTU=, 0.958964
MDVhNjNkMGUxMzZlODMwNGRjNTViZGJhOTdiYWRmZjksanVsaWEubWV0YWNhcnRhLmNvbToxNjAzNl8xMTYzNjM0MjI4XzExNjU5Nzk3MTVfMDA6MTg6OGI6MzU6MDA6ZGMsMzk5MzY3, 0.958475
OWEwOTE2NWYyZGM1ZDkwNTI3MWE0YzBhNjI3MTdlODUsa3VwYS5tZXRhY2FydGEuY29tOjE2MDAxXzExNjM2NjM1MjRfMTE2NzM0NjY3NF8wMDoxODo4YjozODozNjo3OSw1MTY4MjU=, 0.958475
MDEwNmJhOTFlMGFhM2Q0OTUxYmUxNTRlZTU4MjViYjEsa3VwYS5tZXRhY2FydGEuY29tOjE2MDAxXzExNjM2NjM1MjRfMTE2NzM0NjY3NF8wMDoxODo4YjozODozNjo3OSw1MjI4MTk=, 0.958475
Zjk1MzY0ZmQ0OTc5ODgwOTQ1MWVjYzM3ZTEzYjFhYTEsa3VwYS5tZXRhY2FydGEuY29tOjE2MDAxXzExNjM2NjM1MjRfMTE2NzM0NjY3NF8wMDoxODo4YjozODozNjo3OSw0Njc3OTE=, 0.958475
YjZmZWIzZTc5MGI5N2MwM2MyYTE5ZWM1NDk1MTdmZDUsanVsaWEubWV0YWNhcnRhLmNvbToxNjUwMl8xMTY5ODMwMDU5XzExNjk4MzU0MThfMDA6MTg6OGI6MzU6MDA6ZGMsMTkxMDcx, 0.958964 -->
<name><![CDATA[Fairfax County]]></name>
<description><![CDATA[<a href="http://www.fairfaxcounty.gov:80/demogrph/emplbut.htm">Employment Statistics & Information - Fairfax County, Virginia</a><br>Information - <font color="red">Fairfax County</font>, Virginia Busines<br>Employment Statistics & Information - Fairfax County, Virginia Business & Nonresidential Gross Floor Area Census Information & Other Government Agencies Economic Information Employment Information General Overview Glossary Housing Immigration ...<br><br><a href="http://www.fairfaxcounty.gov:80/contact/search.asp">Search Fairfax County Contacts - Fairfax County, Virginia</a><br>Search <font color="red">Fairfax County</font> Contacts - Fairfa<br>Search Fairfax County Contacts - Fairfax County, Virginia Search Fairfax County Contacts you are here : homepage &gt; fairfax county contacts To search for an agency ...<br><br><a href="http://www.fairfaxcounty.gov:80/demogrph/othrbut.htm">Other Information - Fairfax County, Virginia</a><br>Information - <font color="red">Fairfax County</font>, Virginia Averag<br>Other Information - Fairfax County, Virginia Average Household Size Health Insurance Age Distribution Persons Speaking Languages Other than English Prior Place of Residence Educational Attainment ...<br><br><a href="http://www.fairfaxcounty.gov:80/demogrph/housebut.htm">Housing Information - Fairfax County, Virginia</a><br>Information - <font color="red">Fairfax County</font>, Virginia Busines<br>Housing Information - Fairfax County, Virginia Business & Nonresidential Gross Floor Area Census Information & Other Government Agencies Economic Information Employment Information General Overview Glossary Housing Immigration ...<br><br><a href="http://www.fairfaxcounty.gov:80/demogrph/popbut.htm">Population Information - Fairfax County, Virginia</a><br>Information - <font color="red">Fairfax County</font>, Virginia Busines<br>Population Information - Fairfax County, Virginia Business & Nonresidential Gross Floor Area Census Information & Other Government Agencies Economic Information Employment Information General Overview Glossary Housing Immigration ...<br><br><a href="http://www.fairfaxcounty.gov:80/business/services/">Business Services and Resources - Doing Business - Fairfax Co...</a><br>Doing Business - <font color="red">Fairfax County</font>, Virginia Busines<br>Business Services and Resources - Doing Business - Fairfax County, Virginia Business Services & Resources you are here : homepage &gt; doing business &gt; business services and resources Fairfax County has a diverse and ...<br><br><a href="http://www.fairfaxcounty.gov/contact/search.asp">Search Fairfax County Contacts - Fairfax County, Virginia</a><br>Search <font color="red">Fairfax County</font> Contacts - Fairfa<br>Search Fairfax County Contacts - Fairfax County, Virginia Search Fairfax County Contacts you are here : homepage &gt; fairfax county contacts To search for an agency ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-77.350000, 38.850000</coordinates>
</Point>
</Placemark><Placemark>
<!-- Mjg2NGM5N2YzNmYyNGFlZmQ0ZjE5N2Y4ZDBmNzFkMzIscGxhdmlzLm1ldGFjYXJ0YS5jb206MTY2NzNfMTE3MzU3NTg2MF8xMTczNTc4MTgwXzAwOjE4OjhiOjNhOjNkOjQwLDIyODM5NA==, 0.958964 -->
<name><![CDATA[Nassau Bahamas]]></name>
<description><![CDATA[<a href="http://topix.net/r/05j525XYQmo8VlBBUPUWa9G9bOa4kVTdx1LNqTqvWxejdQKhnOECcVfVuSMlxL3OXjYCfywPCSSyfl9UdTX6h1yipv285=2Fc6S3ylpt=2BXwfI1uhZS8L=2BM4gKSAUReNk868Hwh3guBbo1qfQ0=2B3LQrtt7d7LDiFk3qO1TN1RWjhlpU=3D">Nassau Bahamas Vacation <20> Crawfish Production Declines In The...</a><br><font color="red">Nassau Bahamas</font> Vacation <20> Crawfis<br>Nassau Bahamas Vacation <20> Crawfish Production Declines In The Bahamas Nassau Bahamas Vacation Crawfish Production Declines In The Bahamas June 15, 2006 ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-77.350000, 25.083333</coordinates>
</Point>
</Placemark><Placemark>
<!-- OWNkOGUyZGEyNGJiODcxYWVmODUwMWE0MzcwY2MxMzksZWxiZS5tZXRhY2FydGEuY29tOjE2MDYzXzExNzI3ODU1NDNfMTE3Mjc5MzIyOF8wMDoxODo4YjozNzpmZDo1YSwxMzI1ODU=, 0.958964 -->
<name><![CDATA[Front Royal]]></name>
<description><![CDATA[<a href="https://yosemite.epa.gov/opei/ptrack.nsf/vRenewalViewPrintView/B72E7B83510A37AC8525718E0051F7C3">Membership Renewal Print/View</a><br>Application DuPont <font color="red">Front Royal</font> E.I. Du Pont d<br>Membership Renewal Print/View OMB No. 2010-0032 Expiration Date 08/30/06 Performance Track Membership Renewal Application DuPont Front Royal E.I. Du Pont de Nemours and Company, Inc. Member since 2002 A030029 Facility Contact &nbsp&nbsp Name: Mr. James ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-78.194720, 38.918060</coordinates>
</Point>
</Placemark><Placemark>
<!-- NTNjNzZkNWY4NzNmY2JlNTY2ZGRjNTRiYjU3N2IwNDEsanVsaWEubWV0YWNhcnRhLmNvbToxNjAzNl8xMTYzNjM0MjI4XzExNjU5Nzk3MTVfMDA6MTg6OGI6MzU6MDA6ZGMsMTU5MDI1, 0.957987
N2FjZGY0YzM2ZTU4NzE1Y2Q2MGVmNmQ0ZjZkYjI3MjUsanVsaWEubWV0YWNhcnRhLmNvbToxNjAzNl8xMTYzNjM0MjI4XzExNjU5Nzk3MTVfMDA6MTg6OGI6MzU6MDA6ZGMsMzM2MTAz, 0.958475 -->
<name><![CDATA[WESTCHESTER COUNTY]]></name>
<description><![CDATA[<a href="http://schumer.senate.gov:80/SchumerWebsite/pressroom/press_releases/PR01140.html">SCHUMER, CLINTON SECURE $1.5 MILLION FOR NEW BUSES IN WESTCHE...</a><br>FOR NEW BUSES IN <font color="red">WESTCHESTER COUNTY</font> TOPICS Latest New<br>SCHUMER, CLINTON SECURE $1.5 MILLION FOR NEW BUSES IN WESTCHESTER COUNTY TOPICS Latest News Press Release Archive Special Reports Photo Downloads Schumer Around NY About Chuck | Senate Floor | Press Room | Services ...<br><br><a href="http://schumer.senate.gov:80/SchumerWebsite/pressroom/press_releases/PR01996.html">SCHUMER, CLINTON SECURE $3 MILLION FOR NEW BUSES IN WESTCHEST...</a><br>FOR NEW BUSES IN <font color="red">WESTCHESTER COUNTY</font> TOPICS Latest New<br>SCHUMER, CLINTON SECURE $3 MILLION FOR NEW BUSES IN WESTCHESTER COUNTY TOPICS Latest News Press Release Archive Special Reports Photo Downloads Schumer Around NY About Chuck | Senate Floor | Press Room | Services ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-73.800000, 41.116670</coordinates>
</Point>
</Placemark><Placemark>
<!-- ZWQwMTUwYjI4N2ZlZTg4MmI4N2EyZTU5YjU1ZjlkMjMsa3VwYS5tZXRhY2FydGEuY29tOjE2OTI0XzExNzM1NzA1NzBfMTE3MzU3NTk0Nl8wMDoxODo4YjozODozNjo3OSwyODYzOTE=, 0.958475
YzBlZGZhY2IxOGNkNmEyNzI3OWEwZTNkNjRhM2Q4MGYsanVsaWEubWV0YWNhcnRhLmNvbToxNjUwMl8xMTY5ODMwMDU5XzExNjk4MzU0MThfMDA6MTg6OGI6MzU6MDA6ZGMsNTQzMDk4, 0.957987 -->
<name><![CDATA[Oswego County]]></name>
<description><![CDATA[<a href="http://www.valleynewsonline.com:80/news/2004/0117/Oswego_News/">Restaurant makes donation to Friends of Oswego County Hospice</a><br>to Friends of <font color="red">Oswego County</font> Hospice Fulton, N<br>Restaurant makes donation to Friends of Oswego County Hospice Fulton, NY Front Page Viewpoints Hannibal News Phoenix News Oswego News Local News & Photos Obituaries Entertainment and Arts Church ...<br><br><a href="http://www.valleynewsonline.com:80/news/2004/0925/Local_News-Photos/030.html">Fund-raiser held for Oswego County Hospice</a><br>raiser held for <font color="red">Oswego County</font> Hospice Fulton, N<br>Fund-raiser held for Oswego County Hospice Fulton, NY Front Page Viewpoints Hannibal News Phoenix News Oswego News Local News & Photos Obituaries Entertainment and Arts Church ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-76.150000, 43.450000</coordinates>
</Point>
</Placemark><Placemark>
<!-- NjE2OTE2N2U3ZDlmZGFkMTkzYWYzNjViZjQ2OGNlODcsa3VwYS5tZXRhY2FydGEuY29tOjE2NDI5XzExNjk4NzA4OTNfMTE2OTg3NjQyNl8wMDoxODo4YjozODozNjo3OSw1NzEzMzk=, 0.958475 -->
<name><![CDATA[Hood River Memorial Hospital]]></name>
<description><![CDATA[<a href="http://www.providence.org:80/hoodriver/foundation/default.htm">Providence Hood River Memorial Hospital Foundation</a><br>Providence <font color="red">Hood River Memorial Hospital</font> Foundatio<br>Providence Hood River Memorial Hospital Foundation Healthwise Medical Reference Library --&gt; Home | Services | Physicians & Clinics | Education | Patient Information | News & Events | Foundation | Employment Site Search ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-121.523610, 45.704720</coordinates>
</Point>
</Placemark><Placemark>
<!-- YTQwNjQwNzM4YTEzMzFiN2Q5YzExZTlkMWMxMGZmZTgsaWJlcnVzLm1ldGFjYXJ0YS5jb206MTYwNzRfMTE2MzcxNDQ4OF8xMTcyNjg1OTAzXzAwOjE4OjhiOjM4OjM2OjQ3LDY2ODQzNA==, 0.958475 -->
<name><![CDATA[Leavenworth County]]></name>
<description><![CDATA[<a href="http://leavenworthcounty.redcross.org/PR17jan01.htm">ARC-Leavworth County: Press Release January 17, 2001</a><br>January 17, 2001 <font color="red">Leavenworth County</font> Chapter Return t<br>ARC-Leavworth County: Press Release January 17, 2001 Press Release January 17, 2001 Leavenworth County Chapter Return to Media Page APPLICATIONS FOR NEW GAS ASSISTANCE PROGRAM NOW AVAILABLE THROUGH THE AMERICAN RED CROSS LEAVENWORTH - The ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-95.033330, 39.233330</coordinates>
</Point>
</Placemark><Placemark>
<!-- YzhhNTNkZDlmMzFhMDA2NGM4NzExNTNiMTIyYzg2MTUsdW1icm86MTY0ODlfMTE3MTk5Nzc3OV8xMTcyMDAwOTQwXzAwOjE4OjhiOjNhOjcwOmZkLDYwNTU4, 0.958475 -->
<name><![CDATA[Blancheville]]></name>
<description><![CDATA[<a href="http://en.wikipedia.org/wiki/Andelot-Blancheville"> Andelot-Blancheville</a><br>Andelot-<font color="red">Blancheville</font> French commun<br>Andelot-Blancheville French commune nomcommuneAndelot-Blancheville rA<72>gionChampagne-Ardenne dA<64>partementHaute-Marne arrondissementChaumont cantonCanton of Andelot-BlanchevilleAndelot-Blancheville insee52008 cp52700 maire mandat intercomm longitude05A<35> 17 ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>5.266666, 48.216666</coordinates>
</Point>
</Placemark><Placemark>
<!-- YTBlMTIwMTVhYTUyNTlkYTM5MDI3ZGQ2NDk2N2QzYzYsa3VwYS5tZXRhY2FydGEuY29tOjE2NDI5XzExNjk4NzA4OTNfMTE2OTg3NjQyNl8wMDoxODo4YjozODozNjo3OSwzMzUwMjM=, 0.958475 -->
<name><![CDATA[Platte City]]></name>
<description><![CDATA[<a href="http://www.plattecountylandmark.com:80/Article371.htm">The Landmark Newspaper - Platte County (Platte City wants str...</a><br>Platte County (<font color="red">Platte City</font> wants stree<br>The Landmark Newspaper - Platte County (Platte City wants street sweeping grant) Covering Platte County, Missouri Weekly Since 1865 Local News Between the Lines by Ivan Foley Off ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-94.782220, 39.370280</coordinates>
</Point>
</Placemark><Placemark>
<!-- NzY0NTY1YzZjNzE5MTViYjU1NmNmMTJjYjc5NDdjMGEsanVsaWEubWV0YWNhcnRhLmNvbToxNjUxM18xMTY5ODM2NjAxXzExNjk4NDIzNzZfMDA6MTg6OGI6MzU6MDA6ZGMsNjA0NTE2, 0.958475 -->
<name><![CDATA[Macomb County]]></name>
<description><![CDATA[<a href="http://macombdaily.com:80/stories/080404/loc_antosk001.shtml">Macomb Daily : Sports : Retiring juvenile court worker an 'in...</a><br>an 'institution in <font color="red">Macomb County</font>' 08/04/04 SUBSCRIB<br>Macomb Daily : Sports : Retiring juvenile court worker an 'institution in Macomb County' 08/04/04 SUBSCRIBE TO SITE MENU: Select... HOME Local News State/Nation/World Sports Obituaries Election Center Newspaper In ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-82.950000, 42.700000</coordinates>
</Point>
</Placemark><Placemark>
<!-- NzUxNjI3MGNjZjg4OTEzMGEwMDU4YzQ2ZTQ5ZjM3MjAsdW1icm86MTY0ODlfMTE3MTk5Nzc3OV8xMTcyMDAwOTQwXzAwOjE4OjhiOjNhOjcwOmZkLDE0NDIxMA==, 0.958475 -->
<name><![CDATA[Voronezh]]></name>
<description><![CDATA[<a href="http://en.wikipedia.org/wiki/FC_Fakel_Voronezh"> FC Fakel Voronezh</a><br>FC Fakel <font color="red">Voronezh</font> Football clu<br>FC Fakel Voronezh Football club infobox clubname Fakel image Club logo fullname Football Club Fakel Voronezh nickname founded 1947 ground Tsentralnyi Profsoyuz StadionTsentralnyi Profsoyuz ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>39.170000, 51.666388</coordinates>
</Point>
</Placemark><Placemark>
<!-- YzkxOWI2MmRkZjYzNGFmMzY5MmNkYmJmMzUwMDkwZjEsanVsaWEubWV0YWNhcnRhLmNvbToxNjUwMl8xMTY5ODMwMDU5XzExNjk4MzU0MThfMDA6MTg6OGI6MzU6MDA6ZGMsMTYyNjk1, 0.958475 -->
<name><![CDATA[Loudoun County]]></name>
<description><![CDATA[<a href="http://www.loudoun.gov/main/new.htm">What's New in Loudoun County</a><br>What's New in <font color="red">Loudoun County</font> Skip Navigatio<br>What's New in Loudoun County Skip Navigation What's New News Releases Loudoun County in the News New on the Loudoun County Website Job Announcements ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-77.650000, 39.083330</coordinates>
</Point>
</Placemark><Placemark>
<!-- Yjc1NjQ5MjgwNTIzMTJhNjYxM2U3ZGJiYmZkNjQ4ZmEsaWJlcnVzLm1ldGFjYXJ0YS5jb206MTYwNzBfMTE2MzYyMjk0MV8xMTcyNjg1ODk5XzAwOjE4OjhiOjM4OjM2OjQ3LDEyMjI2NTI=, 0.958027
ZDYyZDRlMTRjYTU5ZmM0YjlhMDg4YWEzZGM4ZjUyNGUsa3VwYS5tZXRhY2FydGEuY29tOjE2MDAxXzExNjM2NjM1MjRfMTE2NzM0NjY3NF8wMDoxODo4YjozODozNjo3OSwxODI2MTg=, 0.958027 -->
<name><![CDATA[San Joaquin County]]></name>
<description><![CDATA[<a href="http://www.oes.ca.gov/Operational/OESHome.nsf/PrintView/C4F1A8E5BF70A1D088256EAA00198EF3OpenDocument"> Levee Break San Joaquin County Levee Break and Fl...</a><br>Levee Break <font color="red">San Joaquin County</font> Levee Break an<br>Levee Break San Joaquin County Levee Break and Flooding The Governor's Office of Emergency Services activated the State Operations Center and the Inland ...<br><br><a href="http://www.oes.ca.gov:80/Operational/OESHome.nsf/PrintView/C4F1A8E5BF70A1D088256EAA00198EF3?OpenDocument"> Levee Break San Joaquin County Levee Break and Fl...</a><br>Levee Break <font color="red">San Joaquin County</font> Levee Break an<br>Levee Break San Joaquin County Levee Break and Flooding The Governor's Office of Emergency Services activated the State Operations Center and the Inland ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-121.300000, 37.933330</coordinates>
</Point>
</Placemark><Placemark>
<!-- YTcwMjgxMzFhYjQ5NDdiMjkzZGM0ODkwODlkNjBiOTEsa3VwYS5tZXRhY2FydGEuY29tOjE2MDAwXzExNjM2MzI4MDhfMTE2NzM0NjY3Ml8wMDoxODo4YjozODozNjo3OSw2MzM5NDk=, 0.957987 -->
<name><![CDATA[Gibellina]]></name>
<description><![CDATA[<a href="http://www.archidose.org:80/Apr00/041700.html">Cretto</a><br>Cretto Cretto <font color="red">Gibellina</font>, Sicily Italia<br>Cretto Cretto Gibellina, Sicily Italian artist Alberto Burri is known for a series of works titled Cretti , monochrome pieces composed of paste left to ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>12.966666, 37.783333</coordinates>
</Point>
</Placemark><Placemark>
<!-- N2MwN2NjOWI2ZDhjZjNlNDFhYzhjMjAwOGYzOWNmYzgsdW1icm86MTY0ODlfMTE3MTk5Nzc3OV8xMTcyMDAwOTQwXzAwOjE4OjhiOjNhOjcwOmZkLDQ0ODAz, 0.957987 -->
<name><![CDATA[Sunnhordland]]></name>
<description><![CDATA[<a href="http://en.wikipedia.org/wiki/Stord_Sunnhordland_F.K."> Stord Sunnhordland F.K.</a><br>Stord <font color="red">Sunnhordland</font> F.K. Infobo<br>Stord Sunnhordland F.K. Infobox Football club clubname Stord Sunnhordland F.K. image logo fullname Stord Sunnhordland Fotballklubb Norwegian nickname founded December 18 ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>5.500000, 59.916666</coordinates>
</Point>
</Placemark><Placemark>
<!-- YTYyNmE1ZjQ4NjQ0MTA0MGFlZTkyZGU2OWExOTM4ODgsZWxiZS5tZXRhY2FydGEuY29tOjE2MDM5XzExNjk3NzY4NjRfMTE2OTc4NjY1Nl8wMDoxODo4YjozNzpmZDo1YSwxNTM4MTQ5, 0.957987 -->
<name><![CDATA[Zagreb]]></name>
<description><![CDATA[<a href="http://www.rwe.de/generator.aspx/icw-aqua/beteiligungen/zagrebacke-odpadne-vode-doo/language=de/id=362866/zagrebacke-odpadne-vode-doo.html">RWE Aqua - Zentralklaranlage Zagreb (ZOV)</a><br>Zentralklaranlage <font color="red">Zagreb</font> (ZOV) Home Englis<br>RWE Aqua - Zentralklaranlage Zagreb (ZOV) Home English Suchen Produkte & Services Konzern Presse/News Investor Relations Info-Welt fur Privatkunden fur Geschaftskunden fur Stadtwerke/Versorger fur ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>16.000000, 45.800000</coordinates>
</Point>
</Placemark><Placemark>
<!-- NmZlOTJiY2YwNTQzNTQ0MGRkNjhkZGQ0Y2FiN2JiMzYsa3VwYS5tZXRhY2FydGEuY29tOjE2MDAxXzExNjM2NjM1MjRfMTE2NzM0NjY3NF8wMDoxODo4YjozODozNjo3OSw3Mzc=, 0.957987 -->
<name><![CDATA[Burien]]></name>
<description><![CDATA[<a href="http://www.metrokc.gov:80/kcdot/news/2005/nr050310_burientc.htm">Open house features design ideas for new Burien Transit Center</a><br>ideas for new <font color="red">Burien</font> Transit Center DO<br>Open house features design ideas for new Burien Transit Center DOT Home What's Happening Transportation Today In the News Hot Topics Current Projects Inside Transportation on CTV Regional ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-122.345560, 47.470560</coordinates>
</Point>
</Placemark><Placemark>
<!-- NzExYjkwZThmOTI4YzQ5OThkYzg5NzJiMmQ0N2JlZjksaWJlcnVzLm1ldGFjYXJ0YS5jb206MTYwNzBfMTE2MzYyMjk0MV8xMTcyNjg1ODk5XzAwOjE4OjhiOjM4OjM2OjQ3LDEyNjk2NjI=, 0.957987 -->
<name><![CDATA[Galveston County]]></name>
<description><![CDATA[<a href="http://galvestondailynews.com/mobile/index.lasso">The Daily News: Mobile Edition</a><br>Mobile Edition The <font color="red">Galveston County</font> Daily News - MOBIL<br>The Daily News: Mobile Edition The Galveston County Daily News - MOBILE EDITION - Today is Sunday, September 25, 2005 Buses return with tired, hot evacuees GALVESTON - Some complain about ...<br><br>]]></description>
<styleUrl>#rel1.0</styleUrl>
<Point>
<coordinates>-94.966670, 29.366670</coordinates>
</Point>
</Placemark>
</Document>
</kml>

View File

@@ -0,0 +1,86 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
body {
font-family: sans-serif;
}
#map {
width: 512px;
height: 350px;
border: 1px solid lightgray;
}
p {
width: 512px;
}
a {
text-decoration: none;
color: black;
font-weight: bold;
font-size: 1.1em;
}
#opacity {
padding: 0;
text-align: center;
width: 2em;
font-family: sans-serif;
background: transparent;
color: black;
border: 0;
}
p.note {
font-style: italic;
font-size: 0.8em;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map = null;
var shade = null;
var maxOpacity = 0.9;
var minOpacity = 0.1;
function changeOpacity(byOpacity) {
var newOpacity = (parseFloat(OpenLayers.Util.getElement('opacity').value) + byOpacity).toFixed(1);
newOpacity = Math.min(maxOpacity,
Math.max(minOpacity, newOpacity));
OpenLayers.Util.getElement('opacity').value = newOpacity;
shade.setOpacity(newOpacity);
}
function init(){
var options = {
projection: "EPSG:26912",
units: 'm',
maxExtent: new OpenLayers.Bounds(455402, 4967657, 473295, 4984095),
maxResolution: 'auto',
maxZoomLevel: 8
};
map = new OpenLayers.Map('map', options);
var drg = new OpenLayers.Layer.WMS("Topo Maps",
"http://terraservice.net/ogcmap.ashx",
{layers: "DRG"});
shade = new OpenLayers.Layer.WMS("Shaded Relief",
"http://ims.cr.usgs.gov/servlet19/com.esri.wms.Esrimap/USGS_EDC_Elev_NED_3",
{layers: "HR-NED.IMAGE", reaspect: "false", transparent: 'true'},
{isBaseLayer: false, opacity: 0.3});
map.addLayers([drg, shade]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.LonLat(464348.5,4975876), 1);
}
// -->
</script>
</head>
<body onload="init()">
<h2>OpenLayers Layer Opacity Example</h2>
<div id="map"></div>
<p>
Note that if you also have the setOpacity method defined on the Layer
class, you can tweak the layer opacity after it has been added to the map.
</p>
<p>Opacity:
<a title="decrease opacity" href="javascript: changeOpacity(-0.1);">&lt;&lt;</a>
<input id="opacity" type="text" value="0.3" size="3" disabled="true" />
<a title="increase opacity" href="javascript: changeOpacity(0.1);">&gt;&gt;</a>
</p>
<p class="note">IE users: Wait until the shade layer has finished loading to try this.</p>
</body>
</html>

31
examples/lite.html Normal file
View File

@@ -0,0 +1,31 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
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.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

35
examples/mapserver.html Normal file
View File

@@ -0,0 +1,35 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
function init(){
map = new OpenLayers.Map( 'map' );
layer = new OpenLayers.Layer.MapServer( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'},
{gutter: 15});
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

View File

@@ -0,0 +1,26 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 100%;
height: 100%;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script src="../lib/OpenLayers/Layer/MapServer/Untiled.js"></script>
<script type="text/javascript">
window.onload = function(){
var map = new OpenLayers.Map( 'map', {maxResolution: 'auto'} );
var layer = new OpenLayers.Layer.MapServer.Untiled( "MapServer Untiled",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(0, 0), 1);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
}
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>

View File

@@ -0,0 +1,52 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, layer;
var size, icon;
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);
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
size = new OpenLayers.Size(50,50);
calculateOffset = function(size) {
return new OpenLayers.Pixel(-(size.w/2), -size.h); };
icon = new OpenLayers.Icon(
'http://boston.openguides.org/markers/AQUA.png',
size, null, calculateOffset);
markers.addMarker(
new OpenLayers.Marker(new OpenLayers.LonLat(-180,90), icon));
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
}
function resize() {
size = new OpenLayers.Size(size.w + 10, size.h + 10);
icon.setSize(size);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
<div style="background-color:purple" onclick="resize()"> click to resize marker</div>
</body>
</html>

54
examples/markers.html Normal file
View File

@@ -0,0 +1,54 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, layer;
function init(){
OpenLayers.ProxyHost="/proxy/?url=";
map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(0, 0), 0);
var newl = new OpenLayers.Layer.Text( "text", { location:"./textfile.txt"} );
map.addLayer(newl);
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
var size = new OpenLayers.Size(10,17);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://boston.openguides.org/markers/AQUA.png',size,offset);
markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon));
var halfIcon = icon.clone();
markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,45),halfIcon));
marker = new OpenLayers.Marker(new OpenLayers.LonLat(90,10),icon.clone());
marker.setOpacity(0.2);
marker.events.register('mousedown', marker, function(evt) { alert(this.icon.url); Event.stop(evt); });
markers.addMarker(marker);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
halfIcon.setOpacity(0.5);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, layer;
function init(){
OpenLayers.ProxyHost="/proxy/?url=";
map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
var newl = new OpenLayers.Layer.Text( "text", {location: "./textfile.txt"} );
map.addLayer(newl);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

57
examples/mm.html Normal file
View File

@@ -0,0 +1,57 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 100%;
height: 512px;
border: 1px solid black;
}
</style>
<script type="text/javascript" src="http://clients.multimap.com/API/maps/1.1/metacarta_04"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, mmlayer, layer;
function init(){
map = new OpenLayers.Map( 'map' ,
{controls:[new OpenLayers.Control.MouseDefaults()]});
mmlayer = new OpenLayers.Layer.MultiMap( "MultiMap");
map.addLayer(mmlayer);
markers = new OpenLayers.Layer.Markers("markers");
map.addLayer(markers);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
map.addControl( new OpenLayers.Control.PanZoomBar() );
}
function add() {
marker = new OpenLayers.Marker(new OpenLayers.LonLat(2, 41));
markers.addMarker(marker);
}
function remove() {
markers.removeMarker(marker);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers MultiMap Example</h1>
<div id="map"></div>
<div style="background-color:green" onclick="add()"> click to add the marker to the map</div>
<div style="background-color:red" onclick="remove()"> click to remove the marker from the map</div>
</body>
</html>

35
examples/multiserver.html Normal file
View File

@@ -0,0 +1,35 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
function init(){
map = new OpenLayers.Map( 'map' );
var urlArray = ["http://labs.metacarta.com/wms-c/Basic.py",
"http://monitor.metacarta.com/wms-c/Basic.py"];
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
urlArray,
{layers: 'basic'} );
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

130
examples/mvs.html Normal file
View File

@@ -0,0 +1,130 @@
<html>
<!--
OpenLayers Map Viewer Service
Copyright 2005-2006 MetaCarta, Inc., released under the BSD License.
-->
<!--
This probably needs to be renamed index.html for deployment.
Specifically, it needs to be the default page for whatever
directory it is in.
-->
<head>
<!-- this gmaps key generated for http://openlayers.org/dev/ -->
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA9XNhd8q0UdwNC7YSO4YZghSPUCi5aRYVveCcVYxzezM4iaj_gxQ9t-UajFL70jfcpquH5l1IJ-Zyyw'></script>
<!-- Localhost key -->
<!--<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTS6gjckBmeABOGXIUiOiZObZESPg'></script>-->
<script src="http://openlayers.org/dev/lib/OpenLayers.js"></script>
<script>
function runMVS() {
OpenLayers.ProxyHost = '/proxy/?url=';
if (document.location.protocol != "file:") {
theArgs = OpenLayers.Util.getArgs();
} else {
theArgs = {};
theArgs.center = "0,0";
theArgs.zoom = "0";
theArgs.data = "textfile.txt";
theArgs.controls = 'panzoom,mouse';
theArgs.layers = 'openlayers';
}
// ----
// TODO: Handle all this parsing better.
var safeArgs = {}
var DEFAULT_LAT = 0;
var DEFAULT_LON = 0;
var DEFAULT_ZOOM_LEVEL = 0;
var DEFAULT_CONTROLS = ['panzoom','mouse'];
var DEFAULT_LAYERS = ['openlayers'];
var IDX_LAT = 0;
var IDX_LON = 1;
safeArgs.centerLat = theArgs.center ?
parseFloat(theArgs.center.split(",")[IDX_LAT]) : DEFAULT_LAT;
safeArgs.centerLon = theArgs.center ?
parseFloat(theArgs.center.split(",")[IDX_LON]) : DEFAULT_LON;
safeArgs.zoom = theArgs.zoom ? parseInt(theArgs.zoom) : DEFAULT_ZOOM_LEVEL;
safeArgs.controls = theArgs.controls ?
theArgs.controls.split(",") : DEFAULT_CONTROLS;
safeArgs.layers = theArgs.layers ?
theArgs.layers.split(",") : DEFAULT_LAYERS;
safeArgs.data = theArgs.data; // TODO: Make this "safe".
safeArgs.marker = theArgs.marker; // TODO: Make this "safe".
// -----
var theMVS = new OpenLayers.Map('map', {controls: [], maxResolution: 'auto'});
for(var i = 0; i < safeArgs.controls.length; i++) {
switch(safeArgs.controls[i]) {
case 'panzoombar':
theMVS.addControl(new OpenLayers.Control.PanZoomBar());
break;
case 'panzoom':
theMVS.addControl(new OpenLayers.Control.PanZoom());
break;
case 'layerswitcher':
theMVS.addControl(new OpenLayers.Control.LayerSwitcher());
break;
case 'mouse':
theMVS.addControl(new OpenLayers.Control.MouseDefaults());
break;
}
}
for(var i = 0; i < safeArgs.layers.length; i++) {
switch(safeArgs.layers[i]) {
case 'openlayers':
theMVS.addLayer(
new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'} )
);
break;
case 'nasa':
theMVS.addLayer(
new OpenLayers.Layer.WMS("NASA Mosaic",
"http://wms.jpl.nasa.gov/wms.cgi",
{"EXCEPTIONS" : "application/vnd.ogc.se_inimage",
"format" : "image/jpeg",
layers:"modis,global_mosaic"}
));
break;
case 'gmaps':
theMVS.addLayer(
new OpenLayers.Layer.Google( "Google" , {type: G_HYBRID_MAP })
);
break;
}
}
theMVS.setCenter(new OpenLayers.LonLat(safeArgs.centerLon, safeArgs.centerLat), safeArgs.zoom);
if (safeArgs.marker) {
var m = new OpenLayers.Layer.Markers("Marker");
m.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(safeArgs.centerLon, safeArgs.centerLat)));
theMVS.addLayer(m);
}
if (safeArgs.data) {
theMVS.addLayer(new OpenLayers.Layer.Text("Data", {location: safeArgs.data}));
}
}
</script>
</head>
<body style="margin:0px;"
onload="runMVS();">
<div id="map"
style="width: 100%; height: 100%;
background: lightyellow;
"></div>
</body>
</html>

37
examples/navtoolbar.html Normal file
View File

@@ -0,0 +1,37 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
float:right;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
function init(){
map = new OpenLayers.Map( 'map', { controls: [new OpenLayers.Control.PanZoom()] } );
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
var panel = new OpenLayers.Control.NavToolbar();
map.addControl(panel);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
</body>
</html>

30
examples/notile.html Normal file
View File

@@ -0,0 +1,30 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map', {maxResolution: 'auto'});
var ol_wms = new OpenLayers.Layer.WMS.Untiled( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'} );
ol_wms.addOptions({isBaseLayer: true});
map.addLayers([ol_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.LonLat(0, 0), 0);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

149
examples/openmnnd.html Normal file
View File

@@ -0,0 +1,149 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 600px;
height: 475px;
border: 1px solid black;
}
#info {
float: right;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, layer;
function init(){
OpenLayers.ProxyHost="/proxy/?url=";
map = new OpenLayers.Map( $('map'), {'maxResolution':'auto', maxExtent: new OpenLayers.Bounds(-203349.72008129774,4816309.33,1154786.8041952979,5472346.5), projection: 'EPSG:26915' } );
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
["http://geoint.lmic.state.mn.us/cgi-bin/wms"], {layers: 'fsa'} );
map.addLayer(layer);
wfs_url = "http://prototype.openmnnd.org/cgi-bin/mapserv.exe?map=openmnndwfs/openmnndwfs.map";
wms = new OpenLayers.Layer.WMS("Minnesota Parcels (WMS)", wfs_url, {'layers':'streams', 'transparent': true, 'format':'image/gif'});
map.addLayer(wms);
wfs = new OpenLayers.Layer.WFS("Minnesota Streams (WFS)", wfs_url, {'typename':'streams'}, {ratio:1.25, minZoomLevel:4});
// preFeatureInsert can be used to set style before the feature is drawn
wfs.preFeatureInsert= function(feature) { feature.style.strokeWidth="3"; feature.style.strokeColor="blue";
}
wfs.onFeatureInsert = function() {
$('stream_features').innerHTML = feature.layer.features.length;
}
map.addLayer(wfs);
// Or a style can be set on the layer.
pwfsstyle = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
OpenLayers.Util.extend(pwfsstyle, {'fillColor': 'green'});
pwfs = new OpenLayers.Layer.WFS("Minnesota Plat (WFS)", wfs_url,
{'typename':'plat'},
{
ratio:1.25,
minZoomLevel:8,
extractAttributes: true,
style: pwfsstyle
});
pwfs.onFeatureInsert= function(feature) {
$('plat_features').innerHTML = feature.layer.features.length;
}
map.addLayer(pwfs);
rstyle = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
OpenLayers.Util.extend(rstyle, {'strokeColor': 'white', strokeWIdth: "4"});
rwfs = new OpenLayers.Layer.WFS("Minnesota Roads (WFS)", wfs_url, {'typename':'roads'},
{ratio:1.25, minZoomLevel:7, extractAttributes: true, style:rstyle});
rwfs.onFeatureInsert= function(feature) {
$('road_features').innerHTML = feature.layer.features.length;
}
map.addLayer(rwfs);
map.events.register('moveend', null, function() {
$('stream_features').innerHTML = "0";
$('road_features').innerHTML = "0";
$('plat_features').innerHTML = "0";
});
var ls = new OpenLayers.Control.LayerSwitcher();
map.addControl(ls);
drawControls = {
selectPlat: new OpenLayers.Control.SelectFeature(pwfs, {callbacks: {'up':feature_info,'over':feature_info_hover}}),
selectRoad: new OpenLayers.Control.SelectFeature(rwfs, {callbacks: {'up':feature_info,'over':feature_info_hover}})
};
for(var key in drawControls) {
map.addControl(drawControls[key]);
}
drawControls.selectPlat.activate();
map.zoomToExtent(new OpenLayers.Bounds(303232.550864,5082911.694856,305885.161263,5084486.682281));
}
function toggleControl(element) {
for(key in drawControls) {
var control = drawControls[key];
if(element.value == key && element.checked) {
control.activate();
} else {
control.deactivate();
}
}
}
var displayedGeom = null;
function feature_info_hover(geometry) {
if(geometry.parent) {
geometry = geometry.parent;
}
if (displayedGeom != geometry &&
(!geometry.feature.layer.selectedFeatures.length ||
(geometry.feature.layer.selectedFeatures[0].geometry == geometry))) {
feature_info(geometry);
displaydGeom = geometry;
}
}
function feature_info(geometry) {
if(geometry.parent) {
geometry = geometry.parent;
}
var html = "<ul>";
for(var i in geometry.feature.attributes)
html += "<li><b>" + i + "</b>: "+ geometry.feature.attributes[i] + "</li>";
html += "</ul>";
$('feature_info').innerHTML = html;
}
// -->
</script>
</head>
<body onload="init()">
<div id="info">
<ul>
<li>Streams: Feature Count <span id="stream_features">0</span></li>
<li>Plat: Feature Count <span id="plat_features">0</span></li>
<li>Roads: Feature Count <span id="road_features">0</span></li>
</ul>
<div id="feature_info">
</div>
<ul>
<li>
<input type="radio" name="type" value="selectRoad" id="selectToggle" onclick="toggleControl(this);" />
<label for="selectToggle">select road</label>
</li>
<li>
<input type="radio" name="type" value="selectPlat" id="selectToggle" onclick="toggleControl(this);" checked=checked />
<label for="selectToggle">select polygon</label>
</li>
</ul>
</div>
<div id="map"></div>
</body>
</html>

47
examples/overviewmap.html Normal file
View File

@@ -0,0 +1,47 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Overview Map Example</title>
<script src="../lib/OpenLayers.js" type="text/javascript"></script>
<style>
#map{
width:100%;
height:500px;
border:1px solid;
}
</style>
</head>
<body>
<div id="map"></div>
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map('map');
// my city
var constantina = new OpenLayers.LonLat(-5.6165,37.8623);
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
var nasa_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://wms.jpl.nasa.gov/wms.cgi", {layers: "modis,global_mosaic"} );
map.addLayers([
nasa_wms,
wms
]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
var options = {
layers: [wms.clone()],
minRatio: 8,
maxRatio: 128
};
var overview = new OpenLayers.Control.OverviewMap(options);
map.addControl(overview);
map.setCenter(constantina, 4);
overview.maximizeControl();
</script>
</body>
</html>

90
examples/panel.html Normal file
View File

@@ -0,0 +1,90 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
.olControlPanel div {
display:block;
width: 24px;
height: 24px;
margin: 5px;
background-color:red;
}
.olControlPanel .olControlMouseDefaultsItemActive {
background-color: orange;
background-image: url("../../oterral/ButtonBar/vector/img/PanEnable.png");
}
.olControlPanel .olControlMouseDefaultsItemInactive {
background-color: orange;
background-image: url("../../oterral/ButtonBar/vector/img/PanDisable.png");
}
.olControlPanel .olControlDrawFeatureItemActive {
width: 22px;
height: 22px;
background-image: url("../../oterral/ButtonBar/vector/img/EditLineEnable.png");
}
.olControlPanel .olControlDrawFeatureItemInactive {
width: 22px;
height: 22px;
background-image: url("../../oterral/ButtonBar/vector/img/EditLineDisable.png");
}
.olControlPanel .olControlZoomBoxItemInactive {
width: 22px;
height: 22px;
background-color: blue;
}
.olControlPanel .olControlZoomBoxItemActive {
width: 22px;
height: 22px;
background-color: orange;
}
.olControlPanel .olControlZoomToMaxExtentItemInactive {
width: 18px;
height: 18px;
background-image: url("../img/zoom-world-mini.png");
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script src="../lib/Firebug/debug.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
function init(){
map = new OpenLayers.Map( 'map', { controls: [] } );
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
vlayer = new OpenLayers.Layer.Vector( "Editable" );
map.addLayer(vlayer);
zb = new OpenLayers.Control.ZoomBox();
panel = new OpenLayers.Control.Panel({defaultControl: zb});
panel.addControls([
new OpenLayers.Control.MouseDefaults(),
zb,
new OpenLayers.Control.DrawFeature(vlayer, OpenLayers.Handler.Path),
new OpenLayers.Control.ZoomToMaxExtent()
]);
map.addControl(panel);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
// -->
</script>
</head>
<body onload="init()">
<div id="panel"></div>
<div id="map"></div>
</body>
</html>

124
examples/popups.html Normal file
View File

@@ -0,0 +1,124 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, layer, popup;
var markers, feature, marker;
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.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
}
function changer() {
popup.setBackgroundColor("red");
popup.setSize(new OpenLayers.Size(100,600));
// popup.moveTo(new OpenLayers.Pixel(120,120));
// popup.setOpacity(.5);
popup.setBorder("2px solid");
popup.setContentHTML("High Chickens");
}
function add() {
popup = new OpenLayers.Popup("chicken",
new OpenLayers.LonLat(5,40),
new OpenLayers.Size(200,200),
"example popup",
true);
map.addPopup(popup);
}
function addAnchor() {
popup = new OpenLayers.Popup.Anchored("chicken",
new OpenLayers.LonLat(5,40),
new OpenLayers.Size(200,200),
"example popup");
map.addPopup(popup);
}
function addMarker() {
markers = new OpenLayers.Layer.Markers("zibo");
map.addLayer(markers);
feature = new OpenLayers.Feature(layer,
new OpenLayers.LonLat(0,0));
marker = feature.createMarker();
markers.addMarker(marker);
marker.events.register("mousedown", marker, mousedown);
}
function mousedown(evt) {
if (popup == null) {
popup = feature.createPopup();
popup.setContentHTML("<a href='http://www.somethingconstructive.net' target='_blank'>click me</a>");
popup.setBackgroundColor("yellow");
popup.setOpacity(0.7);
markers.map.addPopup(popup);
} else {
markers.map.removePopup(popup);
popup.destroy();
popup = null;
}
Event.stop(evt);
}
/**
* @param {Event} evt
*/
function onPopupMouseDown(evt) {
markers.map.removePopup(popup);
popup.destroy();
popup = null;
Event.stop(evt);
}
function destroy() {
popup.destroy();
}
function remove() {
markers.removeMarker(marker);
}
function removelayer() {
layer.destroy();
// map.removeLayer(markers);
}
// -->
</script>
</head>
<body onload="init()">
<div id="map"></div>
<div style="background-color:purple" onclick="add()"> click to add Popup to map</div>
<div style="background-color:green" onclick="addMarker()"> click to add a Marker with an AnchoredBubble popup</div>
<div style="background-color:blue" onclick="changer()"> click to modify popup's attributes</div>
<div style="background-color:red" onclick="remove()"> click to remove the popup from map</div>
<div style="background-color:grey" onclick="removelayer()"> click to remove the markers layer</div>
<div style="background-color:orange" onclick="alert(marker.onScreen())"> marker.onscreen()?</div>
<div style="background-color:yellow" onclick="destroy()"> click to destroy the popup from map</div>
</body>
</html>

55
examples/proxy.cgi Executable file
View File

@@ -0,0 +1,55 @@
#!/usr/bin/env python
"""This is a blind proxy that we use to get around browser
restrictions that prevent the Javascript from loading pages not on the
same server as the Javascript. This has several problems: it's less
efficient, it might break some sites, and it's a security risk because
people can use this proxy to browse the web and possibly do bad stuff
with it. If you can get your code signed (see:
http://trac.openlayers.org/wiki/HowToSignJavascript), then you should
modify Parameters.js so that this isn't used. Otherwise, you're stuck
with it. It only loads pages via http and https, but it can load any
content type. XML and HTML are both currently used by Openlayers."""
import urllib
import cgi
fs = cgi.FieldStorage()
url = fs.getvalue('url', "http://openlayers.org")
# Designed to prevent Open Proxy type stuff.
allowedHosts = ['www.openlayers.org', 'openlayers.org', 'octo.metacarta.com', 'merrimack.metacarta.com', 'labs.metacarta.com', 'world.freemap.in',
'prototype.openmnnd.org']
try:
host = url.split("/")[2]
if allowedHosts and not host in allowedHosts:
print "Status: 502 Bad Gateway"
print "Content-Type: text/plain"
print
print "This proxy does not allow you to access that location."
elif url.startswith("http://") or url.startswith("https://"):
y = urllib.urlopen(url)
headers = str(y.info()).split('\n')
for h in headers:
if h.startswith("Content-Type:"):
print h
print
print y.read()
y.close()
else:
print """Content-Type: text/plain
Illegal request."""
except Exception, E:
print "Status: 500 Unexpected Error"
print "Content-Type: text/plain"
print
print "Some unexpected error occurred. Error text was:", E

151
examples/scroll.html Normal file
View File

@@ -0,0 +1,151 @@
<!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" lang="en" xml:lang="en">
<head>
<title>OpenLayers: Home</title>
<link rel="stylesheet" href="http://openlayers.org/common.css" type="text/css" />
<link rel="stylesheet" href="http://trac.openlayers.org/chrome/common/css/trac.css" type="text/css" />
<link rel="stylesheet" href="http://trac.openlayers.org/chrome/common/css/wiki.css" type="text/css" />
<link rel="stylesheet" href="http://trac.openlayers.org/chrome/common/css/tracnav.css" type="text/css" />
<link rel="stylesheet" href="http://openlayers.org/website.css" type="text/css" />
<script type="text/javascript" src="//trac.openlayers.org/chrome/common/js/trac.js"></script>
<!--[if lt IE 7]>
<script defer="defer" type="text/javascript" src="/pngfix.js"></script>
<![endif]-->
</head>
<body>
<div id="olbanner">
<img class="openlayersbannerimg" src="http://www.openlayers.org/images/OpenLayers.trac.png" style="height: 44px; width: 49px" border="0" alt="OpenLayers" />
<a class="openlayersbanner" href="http://www.openlayers.org/" >
OpenLayers</a>
</div>
<div id="navcontainer">
<a class="navtabtraccurrent" href="http://www.openlayers.org">Home</a>
<a class="navtab" href="http://trac.openlayers.org">Support &amp; Development</a>
</div>
<div id="mainnav" class="nav"><ul><li class="first"><a href="http://trac.openlayers.org/wiki" accesskey="1">Wiki</a></li><li><a href="/QuickTutorial" accesskey="2">Tutorial</a></li><li><a href="http://trac.openlayers.org/wiki/HowToDownload" accesskey="3">Download</a></li><li><a href="/gallery">Gallery</a></li><li><a href="/EmailLists">Email Lists</a></li></ul></div>
<div id="main">
<div id="mapFrame">
<div id="map"></div>
<div align="center"><b>Put an open map widget in any web page!</b></div>
<div align="center">
Double-click to zoom in, and drag to pan. Hold down the shift key
and drag to zoom to a particular region.
</div>
</div>
<h3>Get OpenLayers Now</h3>
<p>
Latest stable release: <a href="/api/2/OpenLayers.js">Link to the hosted version</a> | <a href="/download/OpenLayers-2.0.tar.gz">OpenLayers-2.0.tar.gz</a> | <a href="/doc/reference.html">Class Documentation</a> | <a href="/gallery/">See Screenshots</a>
</p>
<p><b>Latest Development Release</b>: Test out OpenLayers 2.1-RC2! <a href="/api/2.1-rc2/OpenLayers.js">Link to 2.1-RC2 Hosted Version</a>.</p>
<p><b>FOSS4G</b>: Was the FOSS4G presentation too early for you this morning? The presentation is <a href="http://openlayers.org/presentations/foss4g2006/openlayers.odp">available in Open Office Impress format</a>, and the examples are <a href="http://openlayers.org/presentations/foss4g2006/examples/">available as well</a>.</p>
<h3>About...</h3>
<p>OpenLayers makes it easy to put a dynamic map in any web page. It can
display map tiles and markers loaded from any source. <a
href="http://www.metacarta.com/">MetaCarta</a> developed the initial version of
OpenLayers and gave it to the public to further the use of geographic
information of all kinds. OpenLayers is
completely free, Open Source JavaScript, released under the BSD License.</p>
<h3>Put a map in your page.</h3>
<p>We've released a Map Viewer Service that lets you put a map in your page easily. Just put this HTML in your page:</p>
<pre>
&lt;iframe src="http://openlayers.org/viewer/"
width="400px" height="200px"
scrolling="no"
marginwidth="0" marginheight="0"
frameborder="0"&gt;
&lt;/iframe&gt;</pre>
<p>Read more examples in the <a href="QuickTutorial">20-second tutorial</a>. The visual appearance of the MapViewer is not yet stable. If you like it, please join the <a href="EmailLists">users' email list</a> and tell us about your use.</p>
<h3>For Developers!</h3>
<p>OpenLayers is a pure JavaScript library for displaying map data in most
modern web browsers, with no server-side dependencies. OpenLayers implements a
(still-developing) <a href="//trac.openlayers.org/wiki/Documentation">JavaScript
API</a> for building rich web-based geographic applications, similar to the
Google Maps and MSN Virtual Earth APIs, with one important difference --
OpenLayers is Free Software, developed for and by the Open Source software
community.</p>
<p>Furthermore, OpenLayers implements industry-standard methods for geographic
data access, such as the OpenGIS Consortium's Web Mapping Service (WMS) and Web
Feature Service (WFS) protocols. Under the hood, OpenLayers is written in
object-oriented JavaScript, using <a
href="//prototype.conio.net/">Prototype.js</a> and components from the <a
href="//openrico.org/">Rico<a> library. The OpenLayers code base already has
hundreds of <a href="/dev/tests/run-tests.html">unit tests</a>, via the <a
href="http://straytree.com/TestAnotherWay/doc/index.html">Test.AnotherWay</a>
framework.</p>
<p>As a framework, OpenLayers is intended to separate map <i>tools</i> from map
<i>data</i> so that all the tools can operate on all the data sources. This
separation breaks the proprietary silos that earlier GIS revolutions have
taught civilization to avoid. The mapping revolution on the public Web should
benefit from the experience of history.</p>
<h3>Getting the Code</h3>
<p>Releases are made available on the <a href="/download/">downloads</a> page.
Additionally, if you wish to use OpenLayers in a web application, you can
include
<tt>
<a href="http://www.openlayers.org/api/OpenLayers.js">http://www.openlayers.org/api/OpenLayers.js</a>
</tt> in your page, to always get the latest release.</p>
<p> The code is also available in our
<a href="//trac.openlayers.org/wiki/HowToDownload">Subversion repository</a>.
Using Subversion, you can keep up to the absolute bleeding edge of the code.
If you wish to report a bug in the API, and you are able to use Subversion,
please see if the bug has been fixed in Subversion first: OpenLayers is
under rapid development, so things change quickly.
</p>
<p>If you don't have Subversion or don't want to download the code, you can
still try some <a href="/dev/examples/">live examples</a> on
openlayers.org. If you're familiar with JavaScript, try viewing the source
of the examples to get an idea how the OpenLayers library is used.</p>
<p>OpenLayers is still undergoing rapid development, so expect a lot to change
in the next few weeks and months. We need your support! Please check the <a
href="//trac.openlayers.org">wiki</a> for the very latest updates and
documentation, and thank you for taking an interest.</p>
</div>
<script type="text/javascript" src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map = new OpenLayers.Map('map');
var ol_wms = new OpenLayers.Layer.WMS( "World Map",
"http://labs.metacarta.com/wms/vmap0?",
{layers: 'basic'} );
var jpl_wms = new OpenLayers.Layer.KaMap( "Satellite",
"/world/index.php", {g: "satellite", map: "world"});
var dm_wms = new OpenLayers.Layer.WMS( "Canada",
"http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
{layers: "bathymetry,land_fn,park,drain_fn,drainage," +
"prov_bound,fedlimit,rail,road,popplace",
transparent: "true", format: "image/png" });
dm_wms.setVisibility(false);
map.addLayers([ol_wms, jpl_wms, dm_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
// -->
</script>
<div id="sidebar"></div>
<div id="footer"></div>
</div>
</body>
</html>

View File

@@ -0,0 +1,82 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 350px;
border: 1px solid gray;
}
#controlToggle li {
list-style: none;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var map, drawControls, select;
function init(){
map = new OpenLayers.Map('map');
var wmsLayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'});
var polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer");
map.addLayers([wmsLayer, polygonLayer]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MousePosition());
drawControls = {
polygon: new OpenLayers.Control.DrawFeature(polygonLayer,
OpenLayers.Handler.Polygon),
select: new OpenLayers.Control.SelectFeature(polygonLayer),
hover: new OpenLayers.Control.SelectFeature(polygonLayer,
{hover: true})
};
for(var key in drawControls) {
map.addControl(drawControls[key]);
}
map.setCenter(new OpenLayers.LonLat(0, 0), 3);
}
function toggleControl(element) {
for(key in drawControls) {
var control = drawControls[key];
if(element.value == key && element.checked) {
control.activate();
} else {
control.deactivate();
}
}
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Draw Feature Example</h1>
<div id="map"></div>
<ul id="controlToggle">
<li>
<input type="radio" name="type" value="none" id="noneToggle"
onclick="toggleControl(this);" checked="checked" />
<label for="noneToggle">navigate</label>
</li>
<li>
<input type="radio" name="type" value="polygon" id="polygonToggle"
onclick="toggleControl(this);" />
<label for="polygonToggle">draw polygon</label>
</li>
<li>
<input type="radio" name="type" value="select" id="selectToggle"
onclick="toggleControl(this);" />
<label for="selectToggle">select polygon on click</label>
</li>
<li>
<input type="radio" name="type" value="hover" id="hoverToggle"
onclick="toggleControl(this);" />
<label for="hoverToggle">select polygon on hover</label>
</li>
</ul>
</body>
</html>

29
examples/setextent.html Normal file
View File

@@ -0,0 +1,29 @@
<html>
<head>
<title>Setting a visual Extent</title>
<script src="../lib/OpenLayers.js"></script>
</head>
<body>
<h1>Setting a Visual Extent</h1>
<p>
Because the ability to set the map to a given extent is limited by the
current resolutions available, zoomToExtent will not always set the map to
exactly the right extent. In order to visually annotate the actual extent,
this example, will use the Boxes layer to visually describe the desired
extent as well as setting the map extent.
</p>
<div style="width:100%; height:75%" id="map"></div>
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map('map');
var bounds = new OpenLayers.Bounds(-45,-45, 0, 45);
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(wms);
map.zoomToExtent(bounds);
var boxes = new OpenLayers.Layer.Boxes("boxes");
var box = new OpenLayers.Marker.Box(bounds);
boxes.addMarker(box);
map.addLayer(boxes);
</script>
</body>
</html>

View File

@@ -0,0 +1,22 @@
<html>
<head>
<script>
function set() {
if (document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#SVG", "1.1") ) {
document.getElementById("svg11").style.background="green";
}
if (document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#SVGDOM", "1.1") ) {
document.getElementById("svgdom").style.background="green";
}
}
</script>
</head>
<body onload="set()">
Vector Support:
<br />
Supports SVG 1.1: <div id="svg11" style="width:100px;height:100px;background-color:red"></div>
<br />
Supports SVG DOM: <div id="svgdom" style="width:100px;height:100px;background-color:red"></div>
</body>
</html>

4
examples/textfile.txt Normal file
View File

@@ -0,0 +1,4 @@
point title description icon
10,20 my orange title my orange description
2,4 my aqua title my aqua description
42,-71 my purple title my purple description<br/>is great. http://www.openlayers.org/api/img/zoom-world-mini.png

36
examples/tiger.html Normal file
View File

@@ -0,0 +1,36 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 700px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
function init(){
var map = new OpenLayers.Map('map', {'maxResolution': 1.40625/4, controls:[]});
var ka_wms = new OpenLayers.Layer.KaMap( "TIGER (KaMap)",
"http://boston.freemap.in/tile.php" , { map: 'tiger', layers: 'TIGER' });
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://wms.jpl.nasa.gov/wms.cgi",
{layers: "modis,global_mosaic"});
jpl_wms.setVisibility(false);
ka_wms.addOptions({isBaseLayer: false});
map.addLayers([jpl_wms,ka_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MouseToolbar());
map.addControl(new OpenLayers.Control.PanZoomBar());
map.setCenter(new OpenLayers.LonLat(-96, 35), 2);
}
// -->
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<div id="map"></div>
</body>
</html>

45
examples/tms.html Normal file
View File

@@ -0,0 +1,45 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 800px;
height: 475px;
border: 1px solid black;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
<!--
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
function init(){
map = new OpenLayers.Map( 'map', {maxResolution:1.40625/2} );
layer = new OpenLayers.Layer.TMS( "TMS",
"http://labs.metacarta.com/wms-c/Basic.py/", {layername: 'basic', type:'png'} );
map.addLayer(layer);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
function addTMS() {
l = new OpenLayers.Layer.TMS(
OpenLayers.Util.getElement('layer').value,
OpenLayers.Util.getElement('url').value,
{
'layername': OpenLayers.Util.getElement('layer').value,
'type': OpenLayers.Util.getElement('type').value
});
map.addLayer(l);
map.setBaseLayer(l);
}
// -->
</script>
</head>
<body onload="init()">
URL of TMS (Should end in /): <input type="text" id="url" size="60" /> layer_name <input type="text" id="layer" /> <select id="type"><option>png</option><option>jpg</option></select> <input type="submit" onclick="addTMS()"/><br />
Example: http://mapserver.refractions.net/cgi-bin/tms/, global_mosaic, jpg
<div id="map"></div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More