Compare commits

..

421 Commits

Author SHA1 Message Date
crschmidt
c71898eb0b Tagging the 2.8 rc3 Release
git-svn-id: http://svn.openlayers.org/tags/openlayers/release-2.8-rc3@9407 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-05-22 14:17:39 +00:00
crschmidt
aeff2e62df Pullups for OL 2.8 RC3.
jQuery lib fix (Closes #1391)
  getRenderedSize regression (Closes #1906)
  element.scrolls error with panzoombar (Closes #2054)
  createUrlObject bug (Closes #2060)
  google layer in late rendered maps (Closes #2075)
  IE6/Lang.nb bug (Closes #2093)
  Layer.TMS/TileCache bugs (Closes #2099) (Closes #2100)
  Graphic names issues (Closes #2101)


git-svn-id: http://svn.openlayers.org/branches/openlayers/2.8@9406 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-05-22 14:03:17 +00:00
crschmidt
6162cbafec Pullup:
* #1797
 * #1978
 * #2060
 * #2066


git-svn-id: http://svn.openlayers.org/branches/openlayers/2.8@9348 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-05-02 21:54:03 +00:00
crschmidt
7884e9527f Branching for the 2.8 Release
git-svn-id: http://svn.openlayers.org/branches/openlayers/2.8@9310 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-20 15:27:13 +00:00
crschmidt
0811578965 Accidentlaly added reference to nonexistant ArcGISCache layer in r9240;
back out. (no functional change) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9309 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-20 15:24:35 +00:00
crschmidt
b34325588c Roll back r9115, which breaks things, until we have time to not make it break
things. This whis was committed with the intention of supporting things like 
#1285, which also didn't get into 2.8, I don't think this will be a problem.
All tests still pass, and now the gutter example works. (Closes #2052) 
(See #1496)



git-svn-id: http://svn.openlayers.org/trunk/openlayers@9308 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-20 12:00:35 +00:00
ahocevar
cf0ca6d2fc Changed ordering example to show the effect of zIndexing without
yOrdering.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9307 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-19 08:53:25 +00:00
ahocevar
608ef2730f Fixed regression with drawing order because of checking for the wrong
parent node. r=tschaub (closes #1066)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9306 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-18 22:00:36 +00:00
Tim Schaub
6570f44d7c Removing the wait cursor if no request is sent by the control. In the case of hover, this tries to remove what doesn't exist (which causes no harm) - but the same is done when hover actually results in a request. r=bartvde (closes #2051)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9305 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-17 16:35:17 +00:00
Tim Schaub
57600b2c81 proxy chasing
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9302 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-16 23:20:15 +00:00
ahocevar
fd299eb552 Fixed refreshing of features in VML renderers when moving renderer roots
(e.g. by deactivating the SelectFeature control). Thanks Kris Geusebroek 
for reporting this. r=elemoine (closes #2048)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9301 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-16 06:59:19 +00:00
Tim Schaub
d54440b0e9 Touching up WMSGetFeatureInfo. Requests are now sent out with correct case on request parameter. Requests are only sent out if there are layers to query. The control has a single format with configurable options. Requests can be made in cases where layer url differs from control url. The control url property is optional. In cases where it is not provided, the url of the first eligible layer will be used. Tests pass and example works (for the first time) in IE as well.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9300 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-15 23:44:29 +00:00
Tim Schaub
cd815bc2a2 The tests for WMSGetFeatureInfo were duplicated, though not exactly the same, in r9159. The first batch did not pass and the second did, so I'm removing the first. (see #2007)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9297 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-15 08:43:57 +00:00
Tim Schaub
2bb58ebb24 Documenting the default projection for the map.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9296 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-14 19:28:39 +00:00
Éric Lemoine
d1ab118f91 a typo in the ND comments of Format/WMSCapabilities/v_1_1_1.js, non-functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9288 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-14 12:13:23 +00:00
Éric Lemoine
625766b492 type in the version string of WMSCapabilities
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9287 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-14 11:15:46 +00:00
ahocevar
1c319bc4a7 Fixed a regression introduced by r9271. Now Format.Text works as
described in #1844. r=tschaub (closes #2043)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9286 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-14 07:22:55 +00:00
Tim Schaub
4b9393c809 Giving the openmnnd example a title header and correcting a typo. Thanks for the report tmtisfree. (closes #2045)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9285 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 22:50:21 +00:00
ahocevar
946969c356 added ND comments for the new fill, stroke and graphic symbolizer
properties. Non-functional change.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9284 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 20:30:36 +00:00
crschmidt
99559b51f7 add an example of accessing an ESRI 9.3 tiled map cache using the XYZ layer
in spherical mercator mode.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9283 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 15:18:29 +00:00
crschmidt
491e9e45a5 mike adair, for mapguide layer and some other work
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9282 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 13:40:17 +00:00
crschmidt
af18408539 Adding David Zwarg, for #213
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9281 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 13:38:54 +00:00
crschmidt
49d10d37c8 Tim Coulter for #1901 and several others
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9280 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 13:38:04 +00:00
crschmidt
74522391a0 add bartvde for dozens of fixes over the past several months
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9279 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 13:36:45 +00:00
ahocevar
2aa7f22926 * added stroke, fill and graphic symbolizer properties (all boolean) to
control whether or not to render a stroke, fill and graphic.
 * added a defaultsPerSymbolizer property to OpenLayers.Style to allow 
for extending incomplete symbolizers with defaults for stroke, fill or 
graphic. This also makes Format.SLD read/write round trips possible 
without modifying empty or incomplete <Stroke/>, <Fill/> and <Graphic/> 
constructs. r=tschaub (closes #1876)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9278 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 13:35:13 +00:00
crschmidt
13e42ec59b Adding robert coup, re: r9262 / #1895
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9277 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 13:34:25 +00:00
Tim Schaub
a247995670 Giving the examples a title makes them searchable. Consistent style makes things look less like a total hack job. The title header and shortdesc make our little example index thing work.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9276 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-13 08:22:55 +00:00
ahocevar
4664edacc8 better backwards compatibility -- only create the root container if
Control.SelectFeature constructor was called with an array of layers. 
r=crschmidt (closes #1666)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9275 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-12 21:14:22 +00:00
ahocevar
976b4703b5 mocking up map in a different way so tests won't break with the new
class-based cursors.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9273 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-12 18:39:06 +00:00
crschmidt
da3a4b272a Fix for "OL is breaking Google API Terms", patch by pwr, r=me, (Closes #1858)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9272 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-12 16:05:19 +00:00
crschmidt
29a23731ab FIx style support in format.text to allow a set of style defaults.
Also, add an extractStyles option that can be configured to false to allow
th use of stylemaps. r=ahocevar (Closes #1844)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9271 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-12 15:40:46 +00:00
Tim Schaub
29ba60eb59 Snap immediately on starting a sketch. r=ahocevar (closes #2039)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9270 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-12 15:38:41 +00:00
Tim Schaub
dfcf68007e Adding a 'sketchstarted' event on the vector layer. This event is triggered at the start of each new sketch. r=ahocevar (closes #1945)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9269 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-12 15:36:15 +00:00
crschmidt
70c3fd077d Fix for typo in geoesic measurement thingy. (Closes #2042)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9268 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-12 15:24:56 +00:00
Tim Schaub
e0faaf59d9 Activating strategies after adding the layer to the map. r=elemoine (closes #1920)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9266 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-10 21:59:57 +00:00
Tim Schaub
ddbf4b5222 Taking care to create a copy of the array sent to removeFeatures in the event that the layer.features array is provided. Thanks for the patch bbinet. r=me (closes #2038)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9265 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-10 19:22:14 +00:00
Tim Schaub
119f9bc635 Whitespace change only.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9264 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-10 16:34:09 +00:00
Tim Schaub
06a27dc36f Make it so the measurepartial event is triggered only if measure isn't coming soon. This keeps you from having to do a quadruple click to finish in IE when a reflow is triggered by the measurepartial listener. r=crschmidt (closes #2037)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9263 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-10 16:09:00 +00:00
ahocevar
cc2e19d789 added support for text labels. This also adds getCentroid methods to all
geometries. Thanks crschmidt for the great help with this patch, and 
thanks to camptocamp for the initial work on this and rcoup for creating 
the first patches. r=crschmidt (closes #1895)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9262 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-10 16:05:26 +00:00
Tim Schaub
dd556be0be Correct spelling for sketch.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9261 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-10 15:27:08 +00:00
Tim Schaub
736b3ff08c Since we now can have delayed map rendering, take care to only apply attributes to the map viewport element (map.div may change). Some deprecated controls still modify style properties of map.div. If you use a combination of deprecated controls and delayed rendering, you may get unexpected results. r=ahocevar (closes #1901)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9259 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 22:03:41 +00:00
Tim Schaub
1fd32e0ff8 Allowing users to better customize cursors for controls. Thanks to bartvde for the original patch and inspiration to get it done. Thanks ahocevar for the IE fix. r=ahocevar (closes #1484)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9258 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 21:59:53 +00:00
Tim Schaub
cf81c29d31 Making OpenLayers.String.trim work for multiline strings. Thanks etdube for the patch. r=me (closes #2034)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9255 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 19:26:42 +00:00
Tim Schaub
b296b083be Updating the meaninglessly named sundials example.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9254 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 19:12:52 +00:00
Tim Schaub
0c49c8faa0 Marking the save method on the Save strategy as an API method. This was a clear oversight (not making it an API method).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9253 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 19:03:07 +00:00
Tim Schaub
d51ea434ca Removing stray console call.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9252 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 19:01:22 +00:00
crschmidt
2e3f22809d fix for insufficient mocking which resulted in an error being thrown on
teardown by IE; add a .destroy() to the mocked renderer. 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9251 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 16:18:30 +00:00
ahocevar
3222fd3618 Updated example to use a simpler dataset with data from a maintained
demo server. Thanks dwins for putting this together.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9250 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 12:57:31 +00:00
crschmidt
2b7e8f5198 Add support for ArcIMS/ArcXML to OpenLayers.
Thanks for the killer effort from David Zwarg from Avencia in building this, 
and for Tim Schaub from OpenGeo for his excellent review. r=me,tschaub
(Closes #213)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9249 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-09 00:15:48 +00:00
Tim Schaub
08077f0f42 Adding methods for getting geodesic measures from geometries. Assuming geometries can be transformed into Geographic/WGS84, getGeodesicLength and getGeodesicArea should return reasonable 'on the ground' metrics. Use getLength and getArea for the planar metrics. r=crschmidt (closes #1819)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9248 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-08 23:12:24 +00:00
crschmidt
5f335f4207 patch had added these two files twice. FIx that. (no real change.) Thanks
edgemaster for pointing it out.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9247 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-08 20:11:20 +00:00
Tim Schaub
0e858fa4af Sending a response object along to the user callback after a commit that issues multiple requests. Thanks for the collaborative patch work crschmidt. r=crschmidt,elemoine (closes #1973)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9246 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-08 17:52:55 +00:00
crschmidt
861a9c10f5 adding XYZ layer (and OSM laayer) to OpenLayers. r=fredj, (Closes #1950)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9240 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-08 06:54:16 +00:00
Tim Schaub
87a2f0d47e adding newline to style.css - no functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9237 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-07 21:26:03 +00:00
Tim Schaub
194474999c And replacing it with use of supported controls.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9236 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-07 20:48:08 +00:00
Tim Schaub
f2f118ad90 Reverting unintentional changes in r9234. Meant to just change the controls example.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9235 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-07 20:43:27 +00:00
Tim Schaub
e72da4f74e Removing use of deprecated control.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9234 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-07 20:38:11 +00:00
crschmidt
0e05f90932 Remove Icon-specific code from Markers Layer, patch by meek,me,
r=euzuro.  (Closes #818)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9233 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-07 15:21:39 +00:00
Tim Schaub
c1f9d60985 Vector tests broke with r9164. Fixing tests by mocking up calculateInRange instead of just inRange. (closes #1939)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9232 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-07 14:11:19 +00:00
Tim Schaub
ed5420b678 Adding a persist option to the measure control. This passes the same to the sketch handler. The cancel method on the control calls the same on the handler. Patch from dwins. Tests from me. r=me (closes #2029)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9225 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-07 02:03:57 +00:00
Tim Schaub
d3d80a02a9 As a result of the changes in #1634, the symbolizer for the temporary rendering intent was exposed. This was a bit uncharacteristic for OL symbolizers given its 4px stroke width and eye melting yellow hue. After some agreement on the mailing list that this should be changed, I'm changing it. The temporary symbolizer is now a 2px cyan thing. Would be nice to have a more involved design process, but I'm feeling a bit desperate about this one not knowing when the release candidate will go out - and not wanting to be embarassed by the garish yellow. Reopen if this is objectionable. r=ahocevar (closes #2032)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9224 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 23:12:40 +00:00
ahocevar
f59eceef71 create UserStyle in a way that propertyNames cache will be generated.
Thanks sonicx for catching this. r=tschaub (closes #2000)
r=tschaub


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9223 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 23:08:08 +00:00
euzuro
a685884a4f remove stray console.log() from test. breaks in all non-FF browsers
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9222 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 22:31:37 +00:00
euzuro
143f72a8e5 Allowing the popup-panning FF hack to be disabled as it causes bad effects when a popup contains flash content. not thrilled with the property name but can't really think of anything better myself. patch by gregers r=me (Closes #1941)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9221 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 22:29:27 +00:00
ahocevar
f52c7c955e forgot to add WFSCapabilities.js and test in my previous commit. Thanks
tschaub for spotting this (see #1988)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9220 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 22:13:05 +00:00
ahocevar
e3103362ee added WFSCapabilities format. Original patch by tschaub, r=tschaub,me
(closes #1988)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9219 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 21:32:46 +00:00
Tim Schaub
043bbab2ca Documenting events that are not fired.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9218 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 21:32:14 +00:00
ahocevar
3841155621 fixed aspect ratio rendering in IE to not break rotation any more.
r=pgiraud (closes #1836)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9217 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 21:21:18 +00:00
Tim Schaub
85974d11a0 Take care not to change layer visibility when changing layer draw order (allOverlays only). r=ahocevar (closes #2004)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9216 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 21:15:39 +00:00
Tim Schaub
ebb7a08325 Adding a format for parsing WMS capabilities docs. r=ahocevar (closes #1176)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9212 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 18:55:20 +00:00
Tim Schaub
64b4752592 Not that it needs to be this way, but because it is generally safer, set non-default resolution related properties on the map instead of on the layer. (closes #2031)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9211 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 18:29:48 +00:00
Éric Lemoine
f5269f8acd BBOX strategy register for layer visibilitychanged, r=tschaub (closes #1835)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9195 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 11:50:30 +00:00
Éric Lemoine
bcf29b8a65 SelectFeature should allow panning the map when over features, without activating click method at the end of drag, r=tschaub (closes #1824)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9194 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-06 11:46:15 +00:00
Tim Schaub
f372bd3fd1 Wrapping json.write in a try/catch to guard against possible failures reported in one case on IE. If anybody cares to get to the bottom of this properly, see the test case attached to the ticket. r=me (closes #1826)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9182 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 23:58:16 +00:00
crschmidt
b0f71c2702 Fix for GeoJSON + Reprojection problems for GeometryCollections. Original
patch/ diagnosis by ibolmo, refactored by me. Includes manual test. 
(Closes #2024)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9181 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 20:26:35 +00:00
Tim Schaub
d1898d1a7d Making it so format.getChildValue concatenates all simple content (except for GeoRSS format). Use getChildValue instead of concatChildValues. Adding a number of other format methods for those who do manual dom traversal. Original patch from dparker. r=me (see #1846)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9180 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 19:17:49 +00:00
ahocevar
e1b1c814de create attributes with null value for empty attribute nodes.
Original patch by milovanderlinden, simplified by tschaub. r=me
(closes #1556)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9179 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 16:52:26 +00:00
ahocevar
467dff424c Added geometry parsing for Mapserver output. Thanks bartvde for the
patch. r=elemoine,me (closes #1976)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9178 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 16:42:26 +00:00
ahocevar
8b0208ae44 Fixed ElementsIndexer to not stop at elements that are not currently
rendered. Thanks Adam Borrows for catching and describing this and the 
patch which does exactly the right thing. r=me (closes #1986)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9177 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 16:29:00 +00:00
pgiraud
49774f6ab5 SelectFeature now takes a hilightOnly config options, that way user can hover features without actually selecting
them, combining two differents controls will allow to separate hover and click events, patches from ahocevar, 
elemoine and 
pgiraud, reviewers are ahocevar, elemoine and pgiraud


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9176 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 10:28:41 +00:00
euzuro
b625337018 clear timer for rightclicks so that we don't fire single right click event after double rightclick event. thanks for the excellent find and fix, itbeyond. r=me (Closes #1995)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9175 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 01:34:58 +00:00
euzuro
1bf80712a6 fixing improper api name.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9174 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-03 01:19:10 +00:00
Tim Schaub
b2258606dc To have a functioning map with all overlays, set the map.allOverlays property to true. With all overlays, the map derives projection, resolution, and max extent information from the lowest layer in the draw order (map.layers[0]). To change the layer order, use map.setLayerIndex or map.raiseLayer. r=ahocevar,elemoine (closes #2004)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9171 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-02 16:40:52 +00:00
Frédéric Junod
3c863c8c2f mergejs: Remove white space around filename. No functional change. (closes #2026)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9170 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-02 10:35:21 +00:00
Éric Lemoine
4254d1efdf Control.GetFeature should abort requests with protocol.abort() instead of response.priv.abort(), r=ahocevar (closes #1999)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9165 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-01 16:25:35 +00:00
crschmidt
339f5bf8f6 Strategy.Fixed should listen to refresh event, (Closes #1939), r=tschaub
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9164 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-01 16:20:23 +00:00
ahocevar
5b61fdafd1 fixed ProxyHost path
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9163 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-01 16:00:54 +00:00
ahocevar
f37ee550f4 Changed example to follow our well known structure. Now it also works in IE.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9162 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-01 15:59:52 +00:00
ahocevar
bfc17248e9 Fixed styleNames creation for layers with mixed strings and arrays.
Thanks dwins for spotting this and the quick patch, which, btw, was 
perfect (i.e. with unit tests that show the problem). r=me (closes #2025)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9161 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-01 15:39:58 +00:00
ahocevar
b1c11b9814 changed the renderer's getRenderLayer method to getRenderLayerId, which
always works even if the layer is not added to a map. Also removed an 
unneeded map.events.unregister from Control.SelectFeature. r=elemoine
(closes #2022)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9160 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-01 13:43:53 +00:00
ahocevar
59c49eb98e Added WMSGetFeatureInfo control. Thanks dwins for the patch. I made the
following modifications:
 * WMSGetFeatureInfo class was contained twice in WMSGetFeatureInfo.js. 
Removed one.
 * Fixed @requires
 * Added vendorParams option (with test) to allow for e.g. adding custom 
params like RADIUS
 * Changed the clickPosition key in the getfeatureinfo event parameter 
to xy to comply with other event parameters in OpenLayers
 * Modified concatenation of layerNames and styleNames as proposed in my 
previous comment
 * Made a separate handleResponse function from the previously closured 
callback function and added xy to the scope
 * Fixed some ND comments, especially removed links (<..>) from object 
types that cannot be linked (e.g. {String})
 * Inserted line breaks where lines exceeded 80 chars
 * Fixed test for format option, because this is now formats and has a 
different type
 * Fixed tests in the example (this is no US census data)
 * added ProxyHost and absolute WMS url to the example
 * removed custom format from the click handler in the example so users 
can also see the simpler instantiation with the default formats
r=me (closes #2007)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9159 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-04-01 09:13:23 +00:00
Tim Schaub
85888788ea Consistent list type for layer events.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9158 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 22:16:05 +00:00
Tim Schaub
8b58d97206 Consistent list style for vector event types.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9157 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 22:11:21 +00:00
Tim Schaub
fe0ddf9f21 Various other ndoc tweaks for controls.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9156 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 22:05:30 +00:00
Tim Schaub
deaa52477b Fixing up ndocs for ZoomPanel.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9155 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 21:59:41 +00:00
Tim Schaub
8ba31e4a91 Consistent event type listing for controls.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9154 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 21:57:08 +00:00
Tim Schaub
ffe3f90ffb NaturalDoc menu updates.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9153 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 21:52:53 +00:00
Tim Schaub
a8c1973d27 Making example header like others.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9152 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 21:42:15 +00:00
Tim Schaub
a6e84ae192 Adding an events instance to the OpenLayers.Request object. Register listeners for complete, success, or failure events. These events are triggered after every request is issued. Original patch from tcoulter. Changes from ahocevar, elemoine, and me. r=me (closes #1933)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9151 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 21:41:16 +00:00
Tim Schaub
2ab6c404e1 Adding the ability to change the aspect ratio of features while resizing with the modify feature control. Thanks for the patch rdewit! r=me (closes #1975)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9150 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 21:36:11 +00:00
Tim Schaub
ef23accd13 Allowing for multiple feature types in a GML doc. Thanks bartvde for the patch and tests. r=me (closes #1838)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9149 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 21:22:48 +00:00
ahocevar
0c1fe31b0a added missing semicolons; while at it also introduced some array length caching and simplified var assignments. Non-functional change. Thanks rot for spotting this. (closes #2019)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9147 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 16:39:28 +00:00
ahocevar
61b5293692 Added WMSDescribeLayer format. Thanks bartvde and sbenthall for the patch. I made some minor modifications:
* changed file structure to match other formats (i.e. put version 1.1 parser in a WMSDescribeLayer subfolder)
 * fixed a type in the example which showed owsURL instead of owsType
r=me (closes #1201)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9146 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-31 15:06:02 +00:00
Éric Lemoine
cf5aa98cce minimize triggerEvent code path when no listeners, r=tschaub (closes #2014)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9142 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-28 16:17:54 +00:00
Tim Schaub
8bac39243f Removing an unnecessary var and adding a semicolon. Just running jslint on some random files.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9141 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-28 02:07:57 +00:00
ahocevar
44ab482e89 addad namedLayersAsArray option to Format.SLD.v1. Patch by tschaub and
me, r=tschaub,me (closes #2005)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9140 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-27 08:39:15 +00:00
Tim Schaub
a9e087b5b9 Writing sld:Mark fill and stroke in cases where graphicName is not provided. r=ahocevar (closes #2008)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9139 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-27 02:02:58 +00:00
Tim Schaub
84fa9dd1ae Adding gml namespace to SLD format for writing spatial filters. r=ahocevar (closes #2006)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9138 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-27 02:00:15 +00:00
Tim Schaub
cd899ab11e Changing the draw feature example to use the default drawing behavior. To enable freehand drawing, use the shift key.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9135 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-26 15:35:11 +00:00
crschmidt
05658f1231 Add a panDuration property to the map. This allows for a workaround for
VirtualEarth panning with markers which causes drift, using the 'novibrate'
example. Tests continue to pass. r=me (Closes #1947)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9130 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-24 21:38:57 +00:00
Tim Schaub
807706219b Adding a slideRatio property to the PanZoom control. Setting this will cause the pan buttons to pan the map by a ratio of the map dimensions. A slideRatio of 0.5 will cause pan up to pan by half the map height. Thanks for the patch and tests sbenthall. r=me (closes #1998)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9129 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-24 20:27:51 +00:00
Tim Schaub
273c7ab5d2 r9113 came with one minor typo in the PanZoom tests. Tests now pass. (see #1949)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9128 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-24 20:17:32 +00:00
pgiraud
2ee964ba55 Added missing requirement, no functional change, patch from aabt (Closes #2003)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9127 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-24 09:52:17 +00:00
ahocevar
3be75cc8d9 Improvements to the WMSGetFeatureInfo format which was not able to parse
some Mapserver responses. Thanks adube for the patch. r=me
(closes #2002)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9123 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-23 20:20:47 +00:00
Tim Schaub
3e55ef6aa3 Adding a threshold property to the cluster strategy. If a threshold set, clusters will only be created if the number of features in a group meets or exceeds the threshold number. r=elemoine,crschmidt (closes #1815)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9119 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-23 17:34:28 +00:00
ahocevar
85dc3a9880 made global variable features in parseData local. Non-functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9117 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-22 20:35:12 +00:00
ahocevar
2b1e8641f9 SelectFeature control can now select across multiple vector
layers when passed an array of layers instead of a single layer with 
the constructor. This changeset also introduces a new layer type, 
Layer.Vector.RootContainer, which will be set as the topmost layer by 
the SelectFeature control and collect the svg/vml/canvas roots of 
multiple vector layers. r=crschmidt (closes #1666)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9116 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-22 14:25:18 +00:00
crschmidt
5c26d578ca In order to make subclasses of Layer which support edge tiles which are of a
size which is not the same size as all the tiles on the layer (as is the case
in Zoomify layers), change Tile.Image to use the size passed in on construction
instead of this.layer.tileSize. All tests still pass, should have no functional
change for all existing layers. patch by pascalou, r=me (Closes #1496)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9115 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-22 00:11:45 +00:00
ahocevar
fdb267987b Fixed rendering issues in (vector) layers when map div has dir="rtl"
set. 
r=crschmidt (closes #1778)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9114 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-21 21:38:42 +00:00
ahocevar
7130992b16 better cleanup for ZoomBar and PanZoomBar. Fixes a memory leak.
r=crschmidt (closes #1949)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9113 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-21 20:13:26 +00:00
crschmidt
65e4ce3e47 add logic in Layer.WFS to prevent sending a BBOX when a 'filter' parameter is
active. This behavior is unsupportd in WFS, given an error message, so this
is a way to protct people aganst that. However, users should be aware that the
best way to do this probably to use Protocols and Strategies right now; 
this is a fix for those getting caught out by this issue until they can
switch. Originla patch by Jachym, r=me (Closes #1734)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9112 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-21 13:24:40 +00:00
Tim Schaub
f06b11d878 Deciding that setCenter deserves a bit of docs.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9107 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-20 17:47:20 +00:00
ahocevar
0a6ea3125d always include field type in DescribeFeatureType fields. With
modifications from tschaub. r=tschaub (closes #1202)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9106 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-20 17:26:40 +00:00
Tim Schaub
7e35022dff Updating the sundials spherical mercator example a bit.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9101 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-19 23:34:56 +00:00
ahocevar
567d32f35f Suport for tooltips on externalGraphics using the graphicTitle
symbolizer property. Only supported in IE and FF. Patch by zspitzer, 
modified by me (added some docs, moved code that sets the title tag so 
it gets executed for externalGraphics. p=zspitzer, r=me (closes #1946)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9097 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-19 18:53:15 +00:00
crschmidt
e49f1435bc Fix for autoSize popups too big when panMapIntoView is false, r=euzuro,
(Closes #1957)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9092 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-19 17:33:27 +00:00
Éric Lemoine
22af9d6412 permit abstract classes (an abstract class being a class without an "initialize" method) as parent classes, final patch from tschaub, r=tschaub (closes #1987)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9091 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-19 14:29:12 +00:00
Tim Schaub
66b4cd65f6 Don't remove the drag control's reference to the feature on up. This is intended to solve issues with fast dragging. Thanks for the patch bjornharrtell. r=me (closes #1196)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9090 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-18 21:56:53 +00:00
crschmidt
c6a7dd235d Add ExtendedData support to KML. r=tschaub, patch mine + his comments,
thx to rdewit for initial help/pointers, (Closes #1955)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9089 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-18 18:15:47 +00:00
Tim Schaub
baf260c6f1 Adding an option to make the bbox strategy more agressive. Thanks for completing the tests crschmidt. r=crschmidt,igrcic (closes #1830)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9087 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-18 17:42:14 +00:00
Tim Schaub
eb03ccc02d Modifying the loader script to check more carefully for the location of OpenLayers.js - allowing folks to have scripts called things like foo-OpenLayers.js. r=crschmidt (closes #1888)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9086 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-18 15:57:41 +00:00
crschmidt
6708f691e2 in situations where a framed popup has a minSize set which isn't big enough
to hold all the blocks, it is possible that the popup will throw an error.
Though this is a configuration error, it is unlikely to be run across in
typical development, so we'll be nice to the user and protect them from
this mistake. (Closes #1891)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9085 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-18 15:47:37 +00:00
crschmidt
2c177fc85c Adding a ruler, contributed by smcmurray. Not used anywhere, but if someon
wants it, they can have it. (Closes #1913)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9084 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-18 15:43:25 +00:00
crschmidt
5e387191d5 make zoomWorldIcon an APIProperty. (Closes #1985)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9083 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-18 15:34:38 +00:00
Tim Schaub
5497e3a272 Additional ndocs for geometry.equals.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9074 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-17 18:31:46 +00:00
Tim Schaub
b505822fd1 Additional ndocs for geometry.move.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9072 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-17 18:26:15 +00:00
Tim Schaub
576e931dac Adding support for cloning rules and filters. r=ahocevar (closes #1919)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9071 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-17 16:08:12 +00:00
ahocevar
7fa74f1b0b examples for #1901
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9069 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-17 12:34:41 +00:00
ahocevar
082107b2a0 Added alternatvie way to initialize the map object, without passing a
div to the constructor. Original patch by tcoulter, modifications by
me and tschaub. r=tschaub (closes #1901)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9068 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-17 10:56:54 +00:00
Tim Schaub
7af042ac7f Adding more support for sld:TextSymbolizer parsing. Reading TextSymbolizer, Label, Font, Halo, and Radius. Writing symbolizer fontWeight and fontStyle as sld:CssParameters. Writing sld:Halo and sld:Radius. r=ahocevar (closes #1984)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9064 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-17 00:14:26 +00:00
pgiraud
291d2e27f6 mapnik layer declared twice, removing the first one
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9057 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-16 08:59:04 +00:00
Frédéric Junod
cea2bdd3a1 set Protocol read, create, update, delete and commit APIMethod. r=tschaub (closes #1660)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9054 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-16 07:05:56 +00:00
Tim Schaub
483c6ea4e6 Rolling back the parts of r9051 that were not really part of #1987. These changes will come with a review of #1556. Thanks to elemoine for catching this. (see #1987, #1556)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9053 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-16 04:23:41 +00:00
Tim Schaub
f9e9eb61ae Modifying bounds.intersectsBounds to it catches bounds intersections where corners of one bounds are not contains in the other bounds. Thanks for the review. r=sderle (closes #1951)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9052 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-15 03:44:22 +00:00
Tim Schaub
49d6463f4e r8455 introduced good changes to Class.js that gave us useful instanceof results. This change also made is so that people using the Class function to extend from non-OL constructors were unwittingly modifying their prototypes (by giving them an initialize property whose value was undefined). By ensuring that the parent prototype has an initialize property already, we don't add anything unexpected. r=crschmidt (closes #1987)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9051 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-15 01:31:11 +00:00
crschmidt
8df8106a51 fix for Layer.GML has some problems with load events r=tschaub (Closes #1747)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9050 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-14 17:06:46 +00:00
crschmidt
2a8015775b Add support for georss:box parsing, and parsing of summary as fallback for
'content'.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9049 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-14 17:05:38 +00:00
Tim Schaub
13833e0a67 Unmixing line endings. No functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9038 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-12 20:04:34 +00:00
ahocevar
086506b926 use String(boolean) instead of encodeURIComponent(boolean) to convert boolean to string. r=tschaub,crschmidt (closes #1982)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9035 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-12 18:42:13 +00:00
Tim Schaub
4975ed8fd1 Adding missing semicolon.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9031 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-12 16:48:27 +00:00
crschmidt
ece39fb1b5 Fix missing semi-colon in Geometry.js, pointed out by rod in trac.
(No functional change.) (Closes #1981)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9030 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-12 14:27:53 +00:00
crschmidt
458461c779 Give the WMS Layer an option to turn off the 'magic' of changing format and
baseLayer state, since that magic can sometimes be problematic. Patch by
part, cleaned up a bit by me, r=me, (Closes #1980)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9029 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-12 14:19:11 +00:00
ahocevar
d2c0182fd9 Preserve aspect ratio for custom symbols in the vml renderer. Original
patch by fredj, refactored by me, r=pgiraud. (closes #1836)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9026 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-12 13:19:06 +00:00
Schuyler Erle
e89774d568 Fix #1951 by rounding all floats passed to Bounds.initialize() and
LonLat.initialize() to 14 significant figures.

Added an OpenLayers.Util.toFloat() function, and changed the LonLat constructor
and the Bounds constructor to truncate all float parameters to 14 significant
figures to avoid numeric comparison errors caused by floating point precision
loss. See the comments around the definition of
OpenLayers.Util.DEFAULT_PRECISION for how it works.

Also refactored Bounds.intersectBounds() for readability, and added a
Bounds.touchesBounds() in the process. After tweaking the tests for
Layer.SphericalMercator and Format.WKT (because they were expecting too many
significant figures), all tests pass.



git-svn-id: http://svn.openlayers.org/trunk/openlayers@9022 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 22:45:32 +00:00
Tim Schaub
9afcb939be Add docs to clarify that distanceTo measures distance on x-y plane only.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9015 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 19:24:56 +00:00
crschmidt
b682f76f95 Mark calculateInRange as an API property. (comment only)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9014 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 17:31:52 +00:00
Tim Schaub
f65e76db2d That yellow was melting my eyeballs.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9013 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 14:57:00 +00:00
Tim Schaub
713cfb600b updating wms url for imagery
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9011 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 14:17:07 +00:00
Tim Schaub
47a66ceff5 Working imagery.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9010 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 14:14:28 +00:00
Tim Schaub
f80fc57b8d proxy chasing
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9009 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 13:51:10 +00:00
Tim Schaub
b00989cbd8 Adding tooltips.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9008 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 13:48:40 +00:00
Tim Schaub
be06680e85 proxy chasing
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9007 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 13:38:19 +00:00
crschmidt
8586e460a0 update mapguide layer example and tests to use a more stable server. No
functional change. (Closes #1757)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9006 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 06:22:24 +00:00
crschmidt
a058555c62 remove synchronous behaviour for MapGuide overlay layers with newer MapGuide.
Patch by madair, reviewed by kseograf with comments, r=me (Closes #1756)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9005 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 06:19:41 +00:00
crschmidt
718495bcec Add Mapguide Layer http served tile support. Patch from madair, positive
comments on usage from community members, r=me. (Closes #1622) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9004 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-11 06:15:30 +00:00
ahocevar
612e95793c Added GetFeature control to get features based on spatial filters
created by clicking or dragging boxes on the map. Thanks tschaub for the 
review and the final patch with valuable improvements. r=tschaub
(closes #1936)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@9003 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 23:31:53 +00:00
Tim Schaub
9e3bf16b0d Marking the api.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9001 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 22:36:37 +00:00
Tim Schaub
8c0d034516 Add a control that acts as a split agent. The control can be configured to listen for edits on any source layer or can create a temporary sketch layer for creating a split source. Source features will be used to split targets on a target layer. The deferDelete option tells the control to modify feature state instead of destroying split features (for use with a save strategy and a protocol that persists changes). r=ahocevar (closes #1972)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8998 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 22:06:19 +00:00
ahocevar
7db0265495 added fromWMSLayer convenience function to Protocol.WFS. Thanks tschaub
for the improved patch. r=tschaub (closes #1937)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8993 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 20:11:07 +00:00
crschmidt
c1315bbb0c "Unsetting tile.src causes browsers to stop loading tiles more reliably",
r=tschaub, (Closes #1978)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8991 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 18:09:27 +00:00
crschmidt
10bc8f5726 "Switching between google layers after map resize", after map size change, as
is used by mapfish and others, the google map can get confused as to its size
and not resize correctly. This patch changes that so that the check happens on
moveTo, so we know if the map has resized. The checkResize is a cheap call in
the default case. r=me, patch by gregers, (Closes #1797)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8990 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 18:07:53 +00:00
Éric Lemoine
4a4cc13e86 "hanlerOptions" should be "handlerOptions" in the options passed to the Haldler.Click ctor, thanks to Erwin Poeze for catching this, no funtional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8986 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 15:31:46 +00:00
crschmidt
5b4746aca6 fix duplicated tests in WMSGetFeatureInfo.html (double-patch applied)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8985 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 13:23:55 +00:00
euzuro
04dfe9c552 Make the derivation of the '_contentDivPadding' value safe in the case where the popup is already added to the map's containerDiv. (Closes #1938)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8980 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 05:14:01 +00:00
crschmidt
fe20406714 Add patch to build tools to allow comments in build profiles. patch from
jwpage, r=me (Closes #1541)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8979 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 04:09:30 +00:00
crschmidt
861ef81552 fix for WFS-T delete and update have improper typeName. Includes tests.
Vague +1 from tschaub. WFS format now matches the more modern WFS-T v1 format
as confirmed by cargo culting the WFS-T tests. (Closes #1787, #1471) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8978 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 04:04:59 +00:00
crschmidt
676475d902 "Always zoom in/out while drawing the zoom box." Patch from jachym, tested
and example added by vdeparday. r=me. (Closes #1771)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8977 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-10 03:50:01 +00:00
Tim Schaub
1ed1584320 Style constructor accepts a rules array. These rules will be added to the style. r=ahocevar (closes #1964)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8975 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-09 22:26:05 +00:00
Tim Schaub
a10b319413 Add split method for linestring and multilinestring geometries. Use for splitting one geometry with another. Optionally performs a mutual split. r=ahocevar (closes #1929)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8974 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-09 22:19:07 +00:00
Tim Schaub
837efd0b9c Loading strategies now trigger loadstart and loadend events. r=crschmidt (closes #1840)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8973 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-09 22:17:23 +00:00
crschmidt
97f4ad54a3 tileOrigin is gone, remove it from tests.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8972 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-09 15:55:34 +00:00
Tim Schaub
f64d554a38 Removing dash that ndoc misinterprets.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8967 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-06 22:24:31 +00:00
crschmidt
e4b161efd1 kill extra comma in example
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8963 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-06 19:24:09 +00:00
Tim Schaub
4d1d172be0 The style:'default' hack is no longer needed here.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8960 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-06 18:28:59 +00:00
Tim Schaub
7ed1aaea29 Add logging for vertexmodified and sketchmodified to modify example.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8958 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-06 17:58:00 +00:00
crschmidt
fff6be4920 Add a string format speed test
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8957 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-06 17:42:41 +00:00
Tim Schaub
c2d47cf46f Making it so features with DELETE state get drawn with the 'delete' rendering intent. The default symbolizer used for the delete intent has display property set to 'none'. This means features with DELETE state will be erased (if already drawn) the next time layer.drawFeature is called. If you want to have features with DELETE state drawn in a partially opaque gray (for example), create a custom style map or change the default delete symbolizer. r=crschmidt (closes #1953)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8956 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-06 17:20:34 +00:00
crschmidt
d2656e002a Fix for "WFS.setOpacity() doen't work properly". (Closes #1868) r=elemoine
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8952 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-06 13:14:34 +00:00
Tim Schaub
9b6894644b Adding a snapping agent for snapping geometry components to existing components while editing. r=ahocevar (closes #954)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8951 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-05 23:04:07 +00:00
crschmidt
930adf45c0 Fix to display only one unit on scaleline in IE. Previously, this worked in
most browsers, but not IE. Includes a test, tested on IE6 and IE7. Patch
by zspitzer, r=me, (Closes #1478)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8950 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-05 13:46:58 +00:00
crschmidt
b72748e2c6 Fix silly typo in @requires statements.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8949 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-05 13:23:23 +00:00
crschmidt
2f367f6b8c OpenLayers.Console is used throughout the code, but not added as a dependancy.
Add @requires statements to pull it in everywhere it is needed. Since Console
is so small -- 634 bytes -- this should have a limited impact on anyone with a
custom build profile. (Closes #1549)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8948 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-05 13:07:42 +00:00
Tim Schaub
0379e028ba Adding support for backgroundWidth and backgroundHeight properties on symbolizers. If not provided, background graphics are rendered with graphicWidth and graphicHeight values (or pointRadius if not provided). r=ahocevar (closes #1968)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8947 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-03 23:56:09 +00:00
Tim Schaub
a8c6c2c159 Documents for a few more symbolizer properties.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8946 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-03 23:40:55 +00:00
Tim Schaub
9e73bd82d7 The getVertices method now returns all points, endpoints only, or all except endpoints. r=crschmidt (closes #1966)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8945 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-03 15:46:00 +00:00
Éric Lemoine
95206bdeae enable programmatically calling the clickFeature metod of the select feature control, r=crschmidt (closes #1449)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8944 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-03 12:45:24 +00:00
crschmidt
1b370297d4 change url for shrinksafe service. (Closes #1568)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8943 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-03 12:41:35 +00:00
crschmidt
95c178adf2 A brilliant patch adding better documentation to all of our controls from an
unnamed contributor on OpenLayers trac. (Closes #1751)  


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8942 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-03 06:30:15 +00:00
crschmidt
92fe77f25c removing untriggered popupopen, popupclose events from the map docs.
These events were never fired. (Closes #1746) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8941 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-03 06:28:25 +00:00
ahocevar
47bcb9bd8d Possible fix for an issue in IE6 that causes this.element.scrolls to be
nullified while being created in getMousePosition. This behavior seems 
to be due to a bug in IE6 (it appears that two event handlers are 
running in separate threads, which should never happen). The 
proposed patch does nothing but improve the coding style of setting 
scrolls and lefttop, and it seems to fix the issue. p=rdewit, r=me 
(closes #1952)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8936 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-02 15:27:39 +00:00
Éric Lemoine
15efd8db2f add abort method to wfs protocol, r=tschaub (closes #1943)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8933 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-02 11:13:22 +00:00
Frédéric Junod
a0678fa739 Layer.TileCache, Layer.TMS: support a subset of server resolutions. r=tschaub (closes #1944)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8932 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-02 08:21:01 +00:00
crschmidt
4dc36e4d80 "Remove unused 'tileOrigin' code from TileCache layer", (Closes #1076). Though
the idea behind this is good, having the code here and unused is not the right
thing to do. (See #1302) for a better attempt at what this should actually be.
The reason this code exists is almost certainly a carggocult from Layer.TMS,
which *does* have a tileOrigin, and I'm pretty sure tschaub started by copying
from that. r=me, though it's mostly just docs. 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8930 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-02 02:32:11 +00:00
crschmidt
05887ecf50 fix for WFS Layer getDataExtent always pulls from markers subclass, r=tschaub
(Closes #1725)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8929 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-02 02:06:01 +00:00
Tim Schaub
0a62e921b2 Adding support for writing wfs:Query with limited property names. Patch from bartvde, tests and mods from me. r=me,ahocevar. (closes #1827)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8928 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 23:04:16 +00:00
ahocevar
a80e1e52c2 Cast values containing numbers into Number objects in Filter and SLD
format to ensure correct comparison of scale denominators against map 
scale  and filters against features. Introduces a new 
OpenLayers.String.numericIf function. r=fredj,tschaub (closes #1874)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8927 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 22:19:17 +00:00
crschmidt
e58d820685 tiny update to natural docs based on patch from anonymous submitter.
(Closes #1963) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8926 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 20:50:30 +00:00
Tim Schaub
80fa2b789b Correcting what was the result of a patch applied twice - thanks for the catch elemoine. r8920 added the WMSGetFeatureInfo format with the class definition repeated (and slightly different). (see #1812)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8925 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 20:35:05 +00:00
Tim Schaub
fecda8f089 Adding a keepData option to formats. If true, formats will be given a reference to the parsed data (named data) after a read. Use this when you need to access part of the structure that was not extracted in creating features (for example). Note that for versioned parsers, the data property is available on format.parser.data. Thanks for the patch sky. r=me (closes #1753)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8924 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 16:37:07 +00:00
Tim Schaub
c7afe8e134 Triggering loadstart and loadend events for the Image layer. Thanks for the excellent patch sky. r=me (closes #1700)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8923 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 16:07:50 +00:00
Tim Schaub
654291ecff Adding layerParams property to WMC options. This lets WMC users set params to be used on WMS layers that are different from the WMS layer defaults and not present in the WMC doc. Thanks for the patch bartvde. r=me (closes #1513)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8922 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 15:32:47 +00:00
Tim Schaub
97e55039ea Adding support for reading and writing spatial filters with Within, Contains, and Intersects elements. Thanks pvalsecc for the original patch. r=ahocevar (closes #1959)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8921 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 05:40:21 +00:00
ahocevar
9359cf0dc1 WMSGetFeatureInfo class with tests. Should have gone in with my previous
commit, but forgot to svn a. (see #1812)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8920 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 00:19:17 +00:00
ahocevar
f7deb57384 Added WMS GetFeatureInfo format. This new format can read GML, Mapserver
and Arc* style feature info results. Thanks crschmidt and 
tschaub for testing and improvements. p=bartvde, r=tschaub,me (closes 
#1812)
r=tschaub,me.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8919 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-03-01 00:16:17 +00:00
crschmidt
2733d8d6a3 Fix to ArcGIS tests in Safari; copy params for each test, so they're not
contaminated by other tests. 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8918 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 22:20:41 +00:00
crschmidt
dd393122aa Create a Layer class to access the ArcGIS 9.3 Map Export service. Patch by
Jeff Adams, from Avencia. r=me. Tested with the default service, and several
other example map services from ESRI (like
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/export).

Note that I don't believe this takes advantage of map caches; if we create a
seperate layer for that, we should probably create a Layer.ArcGIS. namespace.

(Closes #1749)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8917 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 21:53:22 +00:00
Tim Schaub
4d2d90ca51 Filter formats inherit from GML formats. WFST formats inherit from Filter formats. This lets you do things like set xy on the filter format if you specify an srsName for which wy is false. r=crschmidt (closes #1962)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8916 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 21:45:01 +00:00
Tim Schaub
a55bef1cba Symbolizer property docs.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8913 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 21:00:34 +00:00
Tim Schaub
2d8489f6f2 Updated gmap key.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8910 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 19:50:22 +00:00
crschmidt
932d579447 Change ordering of termsOfUse/copyright removal, so we get the right CSS class
names. Patch from #1858. (See #1958). r=me 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8907 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 18:14:12 +00:00
crschmidt
d9e466f645 Fix from gregers, patch cleaned up by Erik for, "Util.getRenderedSize does not
calculate with inherited style". Includes manual regression test. r=me, (Closes
#1906). CLA on file.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8906 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 18:00:10 +00:00
crschmidt
1f39c4dbd1 Per discussion a month ago with erik, he agreed with pgiraud that
framedCloud.css was unneccesary. Combining this into theme/default/style.css,
and removing from examples. Only changes examples and theme, so committing
without review. (Closes #1750)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8905 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 17:44:27 +00:00
crschmidt
bfaf22f22d Fix broken positionBlocks, which cuased overlaps. This is neccesary to easily
handle semi-transparent alternatives to the main framedcloud image.

r=me, (Closes #1737) 



git-svn-id: http://svn.openlayers.org/trunk/openlayers@8904 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-28 14:06:31 +00:00
Éric Lemoine
5a68638971 remove unused variables, no functional change, thanks to pvalsecc for catching those as part of #1959
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8902 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-27 15:15:30 +00:00
crschmidt
b625e9f12f Fix for "BaseTypes.String.Format does not support sub-elements", patch + tests
from rdewit, r=me, (Closes #1956)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8900 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-27 00:44:20 +00:00
Éric Lemoine
f04f203499 ghost features stay displayed with select feature control, r=pgiraud (closes #1865)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8899 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-26 15:19:43 +00:00
Tim Schaub
218ab8c9c6 Updating the WFS protocol demo.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8895 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-25 22:02:50 +00:00
Tim Schaub
3eddc6cc44 Passing the temporary rendering intent to the temporary sketch layer. Related Point.js changes in r8831. r=elemoine (closes #1634)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8890 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-25 14:38:26 +00:00
crschmidt
31dd2e65bd Followup to r8519; fix styleurl parsing as well. Includes new KML modifications
to examples to show styleurls in action. r=me (Closes #1796)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8882 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-21 13:43:21 +00:00
Tim Schaub
d4c94eb1e6 Adding copyright notice.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8879 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-21 04:30:28 +00:00
crschmidt
dd27c501d8 make panMethod an API property. Since this is the only way to turn off animated
panning, it makes sense to support users who want to change this.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8871 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-19 19:54:37 +00:00
Éric Lemoine
dbc6e54403 OpenLayers.Class is not a constructor, trivial, non functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8870 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-18 06:31:01 +00:00
Éric Lemoine
d8a8526cde add missing semi-colon, no functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8869 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-18 06:26:35 +00:00
Tim Schaub
55f40e224a Adding a WFS protocol. This allows for creating, reading, updating, and deleting features via WFS. Huge thanks to ahocevar for the test writing and review. r=ahocevar (closes #1648)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8868 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-18 00:07:43 +00:00
crschmidt
8274b648e8 Yahoo! Maps API supports more zoom levels. Use them by default. (Closes #1384)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8864 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-17 12:05:39 +00:00
ahocevar
8e7c7d5528 Add WFSDescribeFeatureType format. This work is based on bartvde's owsformats sandbox. The unit tests were directly taken from that sandbox and only modified to reflect the slightly modified output format of this rewrite. Thanks to Bart for his initial work and the good discussion on the dev list. r=elemoine (closes #1202)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8858 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-15 21:58:20 +00:00
Tim Schaub
df920a88d5 Adding getVertices method to all geometries. Call with nodesOnly true if you only want endpoints (of lines and multilines). r=crschmidt (closes #1192)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8842 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-05 22:49:03 +00:00
Tim Schaub
dd70dceef9 Correcting what was a mistake in r8805. Original patch was good. The autoPan property should default to false. Apologies for the failing tests. r=crschmidt (closes #1770)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8841 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-05 22:45:52 +00:00
crschmidt
5cc2445a6a geometry.resize returns obj for chaining. r=tschaub, (Closes #1931)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8840 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-05 22:28:22 +00:00
Tim Schaub
3274491b95 Adding distanceTo method to all geometry types. This calculates the shortest distance between any two geometries. For geometries that are entirely contained within polygons, the distance returned will be the distance to the nearest edge. Set the edge option to false to return 0 in cases where one geometry contains another. Details about the distance calculation can be returned by setting the details option true. Details include information about endpoints of the shortest segment between the two geometries. r=ahocevar (closes #1907)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8836 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-05 17:43:34 +00:00
Tim Schaub
41670499b1 Adding vertexmodified, sketchmodified, and sketchcomplete events to the vector layer. These are triggered by the DrawFeature and ModifyFeature controls and let listeners know about newly drawn features and modified features. r=ahocevar (closes #1904)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8835 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-05 17:38:20 +00:00
Tim Schaub
f4bae0a011 Adding support for a modify callback in the sketch handlers. This lets controls know about each sketch modification as a sketch is being drawn. Also a bit of a refactor of the sketch handlers to share sketch geometry parts. r=ahocevar (closes #1903)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8831 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-04 22:45:16 +00:00
crschmidt
112debe5f5 resetBackBuffer should hide the backBufferTile as pat of resetting it.
Patch from ksgeograf, r=me,pagameba. 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8827 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-04 20:55:11 +00:00
Tim Schaub
6f38974fc3 Parsing emtpy attributes in GML as empty strings. Thanks for the patch bartvde. r=bartvde,me (closes #1927)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8824 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-04 18:33:13 +00:00
Tim Schaub
a84a9c1144 Adding a strategy for saving newly added or modified features. Setting the auto property to true gives you auto-saves with every addition/modification. Setting auto to a time (in seconds) gives periodic auto-save of all new/modified features. By default, the save method must be called to trigger save. r=ahocevar (closes #1924)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8818 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-04 00:57:26 +00:00
Tim Schaub
7582cc076e Refactor SLD format a bit to use methods from XML format. The SLD format (v1.0) now inherits from the filter format (v1.0.0). r=ahocevar (closes #1843)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8817 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-04 00:53:58 +00:00
ahocevar
85a59b21ac fixed a caching issue with asynchronous requests in IE. r=igrcic, tschaub (closes #1896)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8816 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-03 23:09:39 +00:00
Tim Schaub
f9939f1cfe Filter enhancements. Adding support for serializing filters with Filter Encoding 1.1. Adding matchCase attribute to filters with binary operators. Refactoring filter formats to use methods from base XML format. r=ahocevar,adube (closes #1790)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8812 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-03 22:28:48 +00:00
ahocevar
ebed733327 Create Fill and Stroke nodes only for PolygonSymbolizers that actually have fill and stroke symbolizer properties. r=tschaub (closes #1879)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8811 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-03 22:25:37 +00:00
Tim Schaub
64f2c94c29 Adding a test to confirm that reading of boundedBy works for GML 2 as well (see #1918, #1613)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8809 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-03 21:01:32 +00:00
Tim Schaub
9ecfc61fb5 Changes to GML 2 and 3. GML 3 now supports gml:Curve, gml:Surface, and the multis - with options to write the deprecated elements. Now reading boundedBy on features as geometry.bounds. Corrected lowerCorner and upperCorner elements. Added ability to build without the old gml parser. r=ahocevar,adube (closes #1918)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8808 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-03 19:49:06 +00:00
Tim Schaub
742b066aa7 Add an autoPan property to the overview map. Set this to true if you want the extent marker to return to the center of the overview map after you drag it. Thanks for the patch jachym. r=me (closes #1770)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8805 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-03 00:52:07 +00:00
Tim Schaub
3edb925487 Strategies that request data (fixed and bbox currently) should transform geometries when the layer projection is different than the map projection. This adds reprojection support to the Fixed and BBOX strategies. Given more strategies that request data, we will likely want to extract out the common parts. r=elemoine (closes #1841)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8804 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-02-03 00:12:27 +00:00
Tim Schaub
0a5204533d Restoring order to the universe.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8801 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-30 22:51:35 +00:00
Éric Lemoine
a107ab04e4 Add the "readWithPOST" boolean option to OpenLayers.HTTP. If "readWithPOST" is true then read operations are done using POST requests instead of GET. This is useful when one needs to send lots of data as part of the request. p=aabt, r=crschmidt,me (closes #1917)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8797 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-30 16:24:38 +00:00
crschmidt
f4c0923bf5 Fix broken documentation.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8796 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-30 11:59:40 +00:00
ahocevar
8f77f9e511 boolean values of xml nodes need special treatment in IE. r=crschmidt (closes #1883)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8779 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-29 16:01:12 +00:00
Éric Lemoine
88fd0519ea make it easier to change the delay passed to the delay_call func, test only, no functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8778 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-29 12:39:37 +00:00
crschmidt
32ca128b18 Simple fix to KML style parsing (from Edgemaster). This change makes getStyle
return clones. Since the results of getStyle are extended later in the code
by the inlineStyle, this fixes a case where kml.styleUrl symbolizers can 
be changed by <Style> blocks attached to features which share a style.
r=me. (Closes #1578)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8776 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-28 02:07:09 +00:00
crschmidt
256f027c7c Commit a change to the Strategy/Fixed to behave more like GeoRSS/Text/GML
layers, and not load by default if the layer is not visible. Includes tests.
Default Behavior can be changed with 
'OpenLayers.Strategy.Fixed.prototype.preload=true;'. With review from elemoine,
comments from tschaub, review from me. Patch by Edgemaster. (Closes #1852) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8775 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-28 01:43:04 +00:00
pgiraud
be82c1ef6e don't re-append the geometry node if it is already there, a regression is fixed with this patch, r=ahocevar (Closes
#1066)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8766 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-26 14:54:16 +00:00
euzuro
e6b48e3dd8 Seems odd to not expose the 'markers' property on this layer. I have buyin from cr5. If anyone has vehement opinions on this, yell and i'll roll back
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8764 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-24 18:12:21 +00:00
Tim Schaub
fc40bbaa05 These too, right? Unimplemented property docs (see r8752).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8761 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-23 19:06:38 +00:00
crschmidt
12096ace6b Remove hover* properties from documentation. Leaving in code for now, but so
far as I can tell, these would depend on support from some specification, and
the only code on the web which mentions them are duplicate copies of OpenLayers
documentation.

We should probably remove these from the corresponding style blocks as well. 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8752 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-23 12:03:32 +00:00
Tim Schaub
e20f0f8cb9 Updating docs for bbox ratio.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8737 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-22 15:48:58 +00:00
Tim Schaub
66ae243890 A bit of docs for the removeFeatures method.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8725 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-21 16:33:30 +00:00
crschmidt
dd47a376aa change website build script to ix typo
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8724 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-21 12:54:31 +00:00
Tim Schaub
89431424fb Adding a convenience method for creating a WKT format and creating geometries with WKT strings. r=crschmidt (closes #1908)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8696 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-17 01:32:17 +00:00
crschmidt
cb62d883dc Add comments about drawFeature being only for redrawing, not for initial
isualization.  


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8685 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-16 15:20:47 +00:00
Éric Lemoine
1f6b239c80 fix Handler.Feature API doc, the handler received a single OpenLayers.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8684 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-16 07:17:05 +00:00
Tim Schaub
37cca38958 Reverting changes from r8664 that were inadvertently committed to the trunk. This gets the SelectFeature control tests passing again. (see #1666)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8675 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-15 21:30:39 +00:00
ahocevar
34599e7f50 updated sandbox with singleroot.3.patch from #1666
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8664 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-14 23:16:53 +00:00
pgiraud
94203ec0f8 decrease numZoomLevels to 2 to ensure that people will not zoom too much, and feel disturbed
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8639 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-13 14:09:15 +00:00
ahocevar
8b08f79898 no longer overwrite "display" symbolizer properties set by the user in
Style objects. r=elemoine (closes #1898)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8620 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-09 16:22:56 +00:00
crschmidt
e1d294193a test commit.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8619 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-09 13:51:50 +00:00
Frédéric Junod
ebe73eff3d len variable was defined but not used. r=elemoine (closes #1897)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8618 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-09 13:03:52 +00:00
ahocevar
54cd400e9a added limited support for OGC expressions for SLD Opacity, Size and Rotation. r=tschaub,crschmidt (closes #1875)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8617 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-09 12:27:27 +00:00
Éric Lemoine
68ad14a047 Handler.RegularPolygon doesn't always call the "done" callback, r=tschaub (closes #1857)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8616 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-09 09:12:37 +00:00
Tim Schaub
6724cefe5f Adding Danish translation strings from ksgeograf. Thanks for the contribution. r=me (closes #1801)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8615 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-09 06:27:18 +00:00
Tim Schaub
fe0f4f9060 Adding support for scale calculations for all units supported by the PROJ.4 and CS-MAP libraries. Thanks for the patch madair. r=me (closes #1821)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8614 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-09 06:14:17 +00:00
Tim Schaub
438418c5bb Using the extent provided to the image layer constructor as the default maxExtent. To set a custom maxExtent (as always), use the maxExtent property of the options argument. r=me (closes #1867)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8613 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-09 05:35:07 +00:00
Éric Lemoine
27e9f855e9 Add support for GeoJSON Bounding Box/Envelope, r=crschmidt (closes #1878)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8582 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-05 14:23:01 +00:00
Tim Schaub
850d69a02f Take care not to handle features without a layer. These are typically destroyed features - but could be some other sort of miscreants. Thanks for the report igrcic. r=crschmidt (closes #1806).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8581 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2009-01-05 04:46:34 +00:00
crschmidt
20907c7fa5 Iceweasel doesn't fall into the Firefox bin, but should.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8573 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-27 17:20:57 +00:00
crschmidt
63fe95f519 turn off launching windows when running tests.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8572 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-27 17:17:53 +00:00
crschmidt
1399653947 Since opening window is the bane of our auto-testing existence -- browsers not
configured to allow popups, and so on -- add an option to turn off opening new
windows. Patch the tests to check for open_window before using it, and bail out
of tests early if they can't find it. By default, the auto-tests.html file will
not allow any window opening. This gives us *slightly* smaller test coverage,
with fewer false positives on test failures. 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8571 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-27 17:16:35 +00:00
crschmidt
850d96ae72 update config to match test_ol.py
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8570 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-27 17:01:49 +00:00
crschmidt
1bdce44f92 Capture KeyboardInterrupt, and stop all tests.
And configurability of max test timeout


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8569 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-27 16:53:53 +00:00
crschmidt
8624b3f7fb add server/url to config.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8568 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-27 11:49:48 +00:00
crschmidt
e4257b5d0f add timeouts for tests; if nothing has changed in MAX_TEST_LENGTH, then
give up, because the browser probably crashed doing something. 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8566 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-26 23:48:36 +00:00
crschmidt
ec295698b6 fix bugs in writing out failures
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8565 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-26 22:57:55 +00:00
crschmidt
9eda04e31c update; now supports configuration
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8564 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-26 21:30:52 +00:00
crschmidt
40e5c856b6 First step towards automating running of tests via selenium-RC. (Still need
to set up some selenium-RC servers before this is a 'real' thing.)  


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8563 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-26 17:41:17 +00:00
crschmidt
70f04dcf62 Fix for #1837: IE7 fails to reset tile's backgroundcolor after failure to load
tile image. r=me, patch by eirik.wahl, (Closes #1837) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8562 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-26 16:20:18 +00:00
crschmidt
315b8c2d30 more comments on sources for terms.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8559 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-26 14:23:23 +00:00
Tim Schaub
dfe1282442 Allowing zero fill opacity to be written in SLD docs. The SLD format deserves a bit more of an overhaul (given changes to OL.Format.XML), and we've got decent changes sitting around in various sandboxes, but this is a simple fix for a small problem. r=ahocevar (closes #1884)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8549 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-24 00:10:16 +00:00
crschmidt
1161049ed5 Roll back changes from r8530: As Tim points out (See #1880), this breaks many
tests and other aspects of OpenLayers. This patch should not have been 
committed. For now, revert the change, and then we can discuss a better
solution. (Rolling back change without review.)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8548 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-23 23:20:59 +00:00
Tim Schaub
40fb641a52 The createElementNSPlus method should append non-null values to the newly created node. Thanks for the quick review. r=crschmidt (closes #1883)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8545 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-23 20:58:28 +00:00
crschmidt
4a4e7b7e07 fix for KML element "fill" is unsupported, patch by rdewit, r=me, tests by me,
(Closes #1724)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8532 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-21 15:01:11 +00:00
crschmidt
e2319ffa12 parse waypoints last, so that they're on top. patch by Edgemaster, r=elemoine,
(Closes #1763) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8531 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-21 14:43:58 +00:00
crschmidt
34959835fb Map should deactivate removed controls, removal of pythonic lack of ';' caught
by elemoine in his review. (Closes #1880)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8530 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-21 14:42:41 +00:00
crschmidt
998d03770b Build profiles have recursion now, so we remove the extra classes that are
already handled by dependancies.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8527 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-20 15:50:08 +00:00
crschmidt
bc82e37fcf make the map bigger to show the toolbar.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8526 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-20 15:16:31 +00:00
Éric Lemoine
a587ef353e make my picky editing happy and add missing semi-colons, no functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8520 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-19 14:56:48 +00:00
crschmidt
e7bbf3d6f9 NetworkLinks were not parsed, even is maxdepth was set. Fix that and add a
test to make sure it doesn't regress.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8519 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-19 13:01:11 +00:00
Tim Schaub
10d55cb523 Correcting getResolutionForZoom and getZoomForResolution in the fractional zoom case. Thanks Bart for catching the backwards logic, for the careful debugging, and for the great patch with tests. r=me (closes #1863)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8516 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-18 17:03:44 +00:00
Éric Lemoine
f4e616342c minor doc error & enhancement in Control.MousePostion, p=aabt, r=me (closes #1872)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8494 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-12 08:37:48 +00:00
Éric Lemoine
67f51ad972 it was reported on the mailing list that the hover handler doc isn't sufficient, fix that, thanks for reporting this Mika, no functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8484 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-10 20:04:29 +00:00
Tim Schaub
304b2cf3ea Cluster strategy should register for moveend on the layer instead of zoomend on the map. p=elemoine,me r=me (closes #1834)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8460 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-06 20:54:51 +00:00
Tim Schaub
f9c814a34a Named mark definitions need to be stored on each renderer root. This change gives each defs node a unique id based on the renderer id. r=ahocevar (closes #1849)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8459 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-06 20:50:50 +00:00
Tim Schaub
da07d0df2f Correct copy/past error.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8447 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-05 15:36:44 +00:00
ahocevar
6c64cb20d9 removing accidently added folders. Non-functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8446 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-05 11:33:32 +00:00
ahocevar
68c2cbcebd Made instanceof reflection work for class hierarchies. r=elemoine,pvalsecc (closes #1802)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8445 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-05 11:31:29 +00:00
ahocevar
59bf4105bd added ND comments, removed unused arguments from getBoxCharacteristics. Non-functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8444 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-04 21:28:57 +00:00
Éric Lemoine
887ad9677c PanZoomBar: slider can still get out of panzoombar area, all unit tests pass, p=bartvde, r=me (closes #1864)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8424 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-12-03 08:27:01 +00:00
Éric Lemoine
8c06729f6b #1774 Ability to cancel a Protocol request, r=fredj (closes #1774)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8420 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-28 16:09:40 +00:00
Frédéric Junod
274afe0a5f Keep the Util.alphaHack function result in a cache. r=pgiraud (closes #1825)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8419 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-27 14:23:11 +00:00
Éric Lemoine
b694095a89 moveend never triggered for base layers, p=tschaub,me r=tschaub (closes #1831)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8416 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-25 09:37:21 +00:00
Éric Lemoine
8b2f674ec9 change method name from "downFeature" to "down" in the ND of the "down" method, no functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8415 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-25 08:04:51 +00:00
crschmidt
04831a0c99 Add more zoom levels to Google example.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8414 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-25 03:57:01 +00:00
ahocevar
fb9d8e912a modified logic to determine when a multipart geometry is fully rendered. Thanks to elemoine for the suggestion how to resolve the issue, thanks to igrcic for testing and turning it into a patch, and thanks to tcoulter for additional testing. r=me (closes #1782)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8411 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-24 17:03:24 +00:00
crschmidt
ca30d3df62 map.getCenter() should return a cloned center, so that (for example)
transforming the center doesn't break the map. patch by edgemaster,
r=me, (Closes #1853)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8410 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-23 22:31:12 +00:00
crschmidt
ccbbcd5759 update plan
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8409 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-23 21:31:31 +00:00
crschmidt
6a3db477f0 remove doubled up test_map_center.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8408 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-23 21:25:37 +00:00
Frédéric Junod
d695c29269 Fix a memory leak in Tile.Image when using AlphaHack. r=crschmidt (closes #1848)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8407 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-21 15:04:52 +00:00
crschmidt
d64cec2db2 tabs -> spaces: whitespace only, no functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8406 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-21 14:55:21 +00:00
crschmidt
bdf6aad1bb tabs -> spaces (whitespace only: no functional change)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8405 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-21 14:54:32 +00:00
crschmidt
a000a3d545 rtept and trksegs should be ignored in parsing GPX. Patch from Edgemaster,
r=me. (Closes #1842)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8404 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-21 14:49:44 +00:00
Tim Schaub
40ddec54a3 Remove redundant features.length check. r=fredj (closes #1847)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8398 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-20 11:25:07 +00:00
euzuro
05cd192ba3 give popups a 'closeOnMove' option. if set to true, the popup will close itself as soon as the map is pan/zoom (move)ed. patch by jrf, euzuro review by elemoine, cr5. (Closes #1726)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8397 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-19 15:51:18 +00:00
Tim Schaub
d5950d4b29 Draw and modify controls now set feature state. No longer do we need to check feature state in app code in cases where features are created or modified with these controls. r=elemoine,ahocevar (closes #1833)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8382 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-16 18:26:39 +00:00
Tim Schaub
1566fc252e r7682 removed hover element, update should not assume it exists
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8376 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-15 21:31:56 +00:00
crschmidt
cc4446af86 add docs to build script
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8365 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-14 21:52:23 +00:00
Tim Schaub
0841822725 Please do not set delays under 1 second when testing rendering in a new window.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8356 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-14 16:20:01 +00:00
Frédéric Junod
b415cbbccb fix comment typo
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8351 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-14 10:23:25 +00:00
crschmidt
07ff407da5 Fix getDataExtent() (vector) manipulates feature: patch from vmx, tests by me,
r=me.  (Closes #1822) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8349 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-13 12:12:58 +00:00
Frédéric Junod
e547d61472 fix comment block. no functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8338 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-12 10:17:25 +00:00
Tim Schaub
ea3443c6bc Requiring the base class for WMC.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8334 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-11 20:54:22 +00:00
Tim Schaub
f877eb4bd4 Typo in comment.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8333 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-11 20:52:10 +00:00
Tim Schaub
e444a05a18 Updating build requirements for SLD format.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8332 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-11 20:51:01 +00:00
Tim Schaub
2153c9e51b Adding more explicit requires directives.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8331 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-11 20:48:26 +00:00
crschmidt
782b052590 Don't run eventpane setMap test in FF, since FF2 and FF3 return different
results.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8326 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-11 15:18:32 +00:00
crschmidt
93d8fa3a9a Add more comments to NavToolbar.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8321 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-11 12:12:15 +00:00
Tim Schaub
c4609c6dea The cluster strategy should check the map resolution instead of trying to get resolution from the layer. There are many cases where the values differ. r=crschmidt (closes #1820)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8317 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-10 22:25:33 +00:00
Tim Schaub
e520aea515 Adding a check to make sure features have a geometry before entering the cluster algorithm. r=crschmidt (closes #1816)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8316 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-10 22:23:17 +00:00
Éric Lemoine
7c0fadd14a ModifyFeature makes SelectFeature control behave/become like ModifyFeature, patch=bjornharrtell,tschaub, r=tschaub,me (closes #1741)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8302 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-07 08:46:02 +00:00
Tim Schaub
d82f73e9e7 Excuse me for the hastily modified patch (in r8286). It was centerLonLat that I meant to nullify in a different location. The original patch was good - and the review by elemoine was solid. I just tweaked the patch upon reading his comment and failed to pay attention to what I was doing. So, bounds center is cached and all is well. Thanks for catching this crschmidt. (closes #1814)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8288 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-06 00:42:37 +00:00
Tim Schaub
b9dac66274 Caching bounds center location. r=elemoine (closes #1814)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8286 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-05 22:23:26 +00:00
crschmidt
d9adcf5a4e Support changing the modification key used to draw the zoomBox, from Jachym
with minor modifications. (Closes #1769)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8285 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-05 21:53:34 +00:00
Tim Schaub
b916be5489 The feature handler should not handle destroyed features. Or any features without a layer for that matter. r=elemoine (closes #1806)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8284 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-05 21:23:55 +00:00
Tim Schaub
0d2760831d Adding a test to show that we can stop feature modification from an event listener.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8282 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-05 17:44:51 +00:00
crschmidt
ea9643c56e Update auto-tests from run-tests.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8277 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-04 23:19:34 +00:00
Tim Schaub
b020e0279a Adding requires directive for SLD v1. No functional change. Thanks for the catch Bart. (closes #1810)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8269 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-04 16:22:02 +00:00
Tim Schaub
9573f18756 Slightly more realistic mock features. Still no functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8256 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-04 05:28:47 +00:00
Tim Schaub
b9874cdff9 Fewer chars to read. No functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8255 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-04 05:23:43 +00:00
Tim Schaub
f4f5414800 Updated request docs.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8254 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-04 01:10:17 +00:00
crschmidt
c1fefd942d use correct layer.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8253 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-03 23:03:15 +00:00
crschmidt
03101401b9 Change the sundials example to also hae a google layer.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8252 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-03 22:12:57 +00:00
Tim Schaub
de272ebf28 Adding titles to title-less examples for googlebot.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8251 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-11-03 19:14:55 +00:00
Tim Schaub
a006d6446c Adding Catalan language dictionary from Oscar Fonts. Thanks for the contribution! r=me (closes #1799)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8239 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-30 17:02:48 +00:00
Tim Schaub
ab427cdca5 Adding Spanish language dictionary from Miguel Montesinos and Oscar Fonts. Thanks for the contribution! r=me (closes #1798)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8238 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-30 16:58:39 +00:00
Frédéric Junod
3b2bebd5fa set the CLASS_NAME to the complete class name (add OpenLayers.Layer.)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8237 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-30 12:52:11 +00:00
crschmidt
3e89e524a1 FixedZoomLevels CLASS_NAME was wrong (included .js): correct it. (No functional
change, since everyone uses subclasses and the Class itself isnt actually 
wrong.) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8236 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-30 10:47:19 +00:00
Tim Schaub
ecd2556783 Marker icons should be moved when the map zoom changes. Thanks to avlee for providing a simple fix for this. r=euzuro (see #1759, closes #1766)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8230 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-28 23:51:05 +00:00
Tim Schaub
221ace9d90 Fewer characters to read. No functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8227 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-28 23:03:54 +00:00
Tim Schaub
6924534f47 Making sure the word 'style' appears in the style examples. No functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8213 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-28 03:03:19 +00:00
euzuro
84b65e5f8f fix propogate/propagate typo in click handler. thanks to chris r. for finding this, elemoine for the review. (Closes #1359)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8207 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-27 19:00:08 +00:00
euzuro
ad8201bed1 add updates to news.txt for 2.6 and 2.7 releases
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8203 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-27 16:58:29 +00:00
crschmidt
7c7809466a Fix a typo in documentation pointed out by MonkZ on IRC.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8194 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-24 22:17:46 +00:00
pgiraud
33e5bd7d7d the test to check if layer is drawn before we draw feature is moved to drawFeature method so that it doesn't fail when called directly at the application level r=elemoine,crschmidt (Closes #1785)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8189 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-24 08:29:01 +00:00
crschmidt
58fc08d574 Mark loadURL as an API function, since we treat it as one.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8178 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-23 14:49:33 +00:00
Tim Schaub
bc503a4e55 More short test names, still no functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8169 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-22 22:13:48 +00:00
Tim Schaub
e3716d940d Shortening test names. No functional change.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8168 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-22 22:12:41 +00:00
euzuro
a9a88f4200 bad spellings. no functional change
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8154 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-21 01:42:14 +00:00
crschmidt
cb1150ca88 add 'deprecated' comment to docs
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8151 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-20 17:06:50 +00:00
Frédéric Junod
ad6d0bd997 Add missing semi-colons. (closes #1762)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8130 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-17 08:06:59 +00:00
Frédéric Junod
c7a7edce97 Separating jsdoc declarations. (See #1229)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8102 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-10 12:36:31 +00:00
Frédéric Junod
ac65d44d1b remove unneeded layer declaration. r=elemoine (closes #1772)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8101 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-09 07:48:08 +00:00
Frédéric Junod
d37c42bcb5 Add missing semi-colons. r=pagameba (closes #1762)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8099 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-08 12:50:42 +00:00
Tim Schaub
ed719a9570 adding filter example
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8092 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-05 05:05:50 +00:00
euzuro
8e3178984f getting rid of unnecessary, undocumented 'drawn' property on marker. replacing it with accessor function isDrawn(), and putting an isDrawn() in icon as well. all tests pass r=elemoine (Closes #1759)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8091 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-04 20:13:28 +00:00
Tim Schaub
2e4faa3861 Only load gears_init.js if you need it. r=many (closes #1758)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8089 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-04 13:17:00 +00:00
euzuro
fa5499beed correct the function name
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8088 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-10-04 12:58:40 +00:00
Frédéric Junod
6b6f207ae7 Add copyright headers and 'Inherits from'. Comments only modification.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8037 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-19 06:00:17 +00:00
crschmidt
9a4b0a11f1 "GML v2 fails in single file build in trunk", add dependancy on Format.GML
to prevent GML.v2 from getting blown away by later Format/GML.js inclusion
in single file build. r=tschaub (Pullup #1740)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@8033 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-18 17:15:33 +00:00
Frédéric Junod
032c6c22ad fix typo in comment
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8032 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-18 13:25:36 +00:00
Tim Schaub
1a32d17112 We were breaking the firebug console in Firefox 3. This change makes things less efficient for browsers without Firebug (we loop through every script checking for firebug lite), but it fixes the console with OL and Firefox 3. If you open up the console in Firefox 3 and type 'window.console' you get an error about too much recursion (nothing to do with OL). So, we avoid touching window.console unless firebug lite has defined it. r=euzuro (see #1594)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8031 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-17 23:39:24 +00:00
Tim Schaub
9dd35b03b8 Strategy and protocol ndoc cleanup. (see #1738)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8026 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-17 17:30:01 +00:00
Tim Schaub
babc2a0410 Natural Doc menu changes. (see #1738)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8025 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-17 17:15:54 +00:00
Frédéric Junod
2111cb568f Fix incorrect function name in warning message.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8024 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-17 12:53:12 +00:00
euzuro
01682a6da7 Fixing erroneously set default for right-click handlers. Thanks to senior schmidt for pointing out this oversight on my part, and for the quick reviw. (Pullup #1735)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8021 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-16 16:23:43 +00:00
ahocevar
658953b130 Fixed fatal typo that broke getComponentString when working with two-point geometries. Added tests to check that everything works as expected now. r=pagameba (pullup #1730)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8016 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-15 11:51:50 +00:00
Tim Schaub
508ebc58c1 No functional change. Adding docs for list of default map controls.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8011 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 17:15:55 +00:00
euzuro
6dae5eb770 Fix misspelling
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8010 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 17:07:20 +00:00
euzuro
d8cafb1ad7 fix broken HTTP Protocol test. Need to re-assign overridden values. This was not breaking in FF because (for whatever reason) tests are executed in backwards order. When they are executed in forwards order (IE), we have a problem. No functional change. See #1652
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8009 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 16:32:52 +00:00
Éric Lemoine
8d8ee2087f these two files were erroneously not committed as part of [8005], thanks Erik for catching this (See #1699)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8008 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 16:06:55 +00:00
euzuro
7a5b401604 Added versioned GML Parser, on behalf of mr. tschaub. review=ahocevar. (Pullup #1639)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8007 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 15:16:13 +00:00
Éric Lemoine
44ac8154c7 add Protocol.SQL.Gears, and go do editing while being offline! r=crschmidt (closes #1699)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8005 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 14:57:05 +00:00
ahocevar
523029f91d use a local coordinate system starting at (0,0) instead of coordinates just derived from the geometries, resetting it every time the resolution changes. r=tschaub (Pullup #1732)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8004 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 14:44:40 +00:00
Tim Schaub
4ad8f2118c Adding paging and cluster strategies. The paging strategy intercepts a batch of features bound for the layer and caches them, giving the layer one page at a time. The cluster strategy intercepts a batch of features and groups proximate features as clusters - giving the clusters to the layer instead. Thanks for the careful review Erik. r=euzuro (see #1606).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8003 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 08:58:23 +00:00
ahocevar
3ad82c119a fixed ND comment typo (non-functional change)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8002 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-12 07:54:43 +00:00
Tim Schaub
33fbc1d22f Adding a BBOX strategy. This triggers requests for data within a bounding box. When the map bounds invalidate previous data bounds, another request is issued. Reads are triggered with a spatial filter, and protocols that understand how to deal with filters may serialize the filter to request a subset of the data collection. The HTTP protocol understands one filter - the bbox filter. So the BBOX strategy can be used in conjunction with the HTTP protocol to request data via http in a bounding box. Thanks for the collaboration and tests Eric. r=elemoine,crschmidt (#1731)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8000 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-11 17:39:41 +00:00
Frédéric Junod
1662f2adba Add missing @requires OpenLayers/Tile/Image.js. r=crschmidt (Pullup #1733)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7999 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-11 15:11:43 +00:00
ahocevar
48221f6d26 give the element a backgroundGraphic so we know that we need to remove the background element
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7997 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-11 13:11:09 +00:00
ahocevar
f130df8ee7 Make sure that backgroundGraphic icon is deleted on feature destroy, even if no indexer is being used. r=crschmidt (Pullup #1718)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7996 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-11 12:58:35 +00:00
Tim Schaub
3295500c5c 80 is proxied to 8080 on the server
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7993 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-10 18:43:35 +00:00
crschmidt
8affa99d12 missing comma in list, pointed out by brentp
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7992 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-10 17:19:43 +00:00
Tim Schaub
bb26ddb2bb Print out denied host.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7990 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-10 15:00:25 +00:00
crschmidt
a0491afc61 Fix broken OSM layers.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7988 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-09 19:51:08 +00:00
Tim Schaub
715c4001a9 Making the xml_eq test method ignore whitespace only nodes by default. This can be configured by setting the ignoreWhiteSpace option. (see #1639)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7987 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-09 17:50:41 +00:00
euzuro
0fbc6c2500 Fix for Permalink's override-able createParams() function, which was designed to allow for input parameter values for center, zoom, and layers... but was actually only using the center value... zoom and layers were being taken from the map and the input parameters ignored. Big thanks to our anonymous poster for spotting this. r=ahocevar (Pullup #1489)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7986 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-09 15:53:09 +00:00
Éric Lemoine
4cf8b53027 Fix for "extra '?' is added to the URL by the LoadURL method", review and final patch from tschaub (closes #1616)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7984 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-09 06:55:19 +00:00
Tim Schaub
30ab46f265 Adding a geom_eq method for Test.AnotherWay. This can be used to test two geometries for equivalence. (see #1639)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7983 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-09 00:10:59 +00:00
Tim Schaub
a5687716b7 Adding readers and writers properties to xml formats. These will contain public functions used in serializing and deserializing various formats. Shorthand methods for calling these readers & writers are writeNode and readNode. r=ahocever (closes #1722)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7982 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-08 21:31:39 +00:00
Paul Spencer
8114c092b7 apply missing semicolons from r7975 (in 2.7 branch) to trunk
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7979 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-08 17:43:34 +00:00
ahocevar
622e33cc16 moved handling of unrenderedFeatures from moveTo to drawFeature. r=elemoine (pullup #1723)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7976 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-08 06:52:57 +00:00
Tim Schaub
846a48245f Updating comments in example.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7974 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-06 19:03:45 +00:00
Tim Schaub
d0ffc2b022 Comment only. A bit of documentation for distVincenty.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7973 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-06 18:53:42 +00:00
Tim Schaub
29cdbe686d Adding a bit of explanation about this calcVincenty function, since distVinventy is not documented otherwise.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7972 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-06 18:49:54 +00:00
Tim Schaub
30050825b5 Missing change that should have been in r7965. r=me (see #1241)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7971 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-06 18:25:38 +00:00
crschmidt
e301cc2ab0 Measure includes a great circle distance, to emonstrate the ability to use
the geometry attached to the event to generate your own length measurement.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7970 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-09-06 16:09:13 +00:00
383 changed files with 34106 additions and 3445 deletions

View File

@@ -45,10 +45,9 @@ SubTitle: JavaScript Mapping Library
# --------------------------------------------------------------------------
File: OpenLayers (OpenLayers.js)
Group: OpenLayers {
File: OpenLayers (no auto-title, OpenLayers.js)
File: Ajax (no auto-title, OpenLayers/Ajax.js)
Group: BaseTypes {
@@ -74,8 +73,10 @@ Group: OpenLayers {
File: DragPan (no auto-title, OpenLayers/Control/DragPan.js)
File: DrawFeature (no auto-title, OpenLayers/Control/DrawFeature.js)
File: EditingToolbar (no auto-title, OpenLayers/Control/EditingToolbar.js)
File: GetFeature (no auto-title, OpenLayers/Control/GetFeature.js)
File: KeyboardDefaults (no auto-title, OpenLayers/Control/KeyboardDefaults.js)
File: LayerSwitcher (no auto-title, OpenLayers/Control/LayerSwitcher.js)
File: Measure (no auto-title, OpenLayers/Control/Measure.js)
File: ModifyFeature (no auto-title, OpenLayers/Control/ModifyFeature.js)
File: MouseDefaults (no auto-title, OpenLayers/Control/MouseDefaults.js)
File: MousePosition (no auto-title, OpenLayers/Control/MousePosition.js)
@@ -84,14 +85,21 @@ Group: OpenLayers {
File: NavigationHistory (no auto-title, OpenLayers/Control/NavigationHistory.js)
File: NavToolbar (no auto-title, OpenLayers/Control/NavToolbar.js)
File: OverviewMap (no auto-title, OpenLayers/Control/OverviewMap.js)
File: Pan (no auto-title, OpenLayers/Control/Pan.js)
File: Panel (no auto-title, OpenLayers/Control/Panel.js)
File: PanPanel (no auto-title, OpenLayers/Control/PanPanel.js)
File: PanZoom (no auto-title, OpenLayers/Control/PanZoom.js)
File: PanZoomBar (no auto-title, OpenLayers/Control/PanZoomBar.js)
File: Permalink (no auto-title, OpenLayers/Control/Permalink.js)
File: Scale (no auto-title, OpenLayers/Control/Scale.js)
File: ScaleLine (no auto-title, OpenLayers/Control/ScaleLine.js)
File: SelectFeature (no auto-title, OpenLayers/Control/SelectFeature.js)
File: Snapping (no auto-title, OpenLayers/Control/Snapping.js)
File: Split (no auto-title, OpenLayers/Control/Split.js)
File: ZoomBox (no auto-title, OpenLayers/Control/ZoomBox.js)
File: ZoomIn (no auto-title, OpenLayers/Control/ZoomIn.js)
File: ZoomOut (no auto-title, OpenLayers/Control/ZoomOut.js)
File: ZoomPanel (no auto-title, OpenLayers/Control/ZoomPanel.js)
File: ZoomToMaxExtent (no auto-title, OpenLayers/Control/ZoomToMaxExtent.js)
} # Group: Control
@@ -110,17 +118,28 @@ Group: OpenLayers {
File: Comparison (no auto-title, OpenLayers/Filter/Comparison.js)
File: FeatureId (no auto-title, OpenLayers/Filter/FeatureId.js)
File: Logical (no auto-title, OpenLayers/Filter/Logical.js)
File: Spatial (no auto-title, OpenLayers/Filter/Spatial.js)
} # Group: Filter
Group: Format {
File: Format (no auto-title, OpenLayers/Format.js)
File: GeoJSON (no auto-title, OpenLayers/Format/GeoJSON.js)
File: GeoRSS (no auto-title, OpenLayers/Format/GeoRSS.js)
File: GML (no auto-title, OpenLayers/Format/GML.js)
File: JSON (no auto-title, OpenLayers/Format/JSON.js)
File: KML (no auto-title, OpenLayers/Format/KML.js)
File: OSM (no auto-title, OpenLayers/Format/OSM.js)
Group: Filter {
File: Filter (no auto-title, OpenLayers/Format/Filter.js)
File: v1 (no auto-title, OpenLayers/Format/Filter/v1.js)
File: v1_0_0 (no auto-title, OpenLayers/Format/Filter/v1_0_0.js)
File: v1_1_0 (OpenLayers/Format/Filter/v1_1_0.js)
} # Group: Filter
Group: GML {
File: GML (no auto-title, OpenLayers/Format/GML.js)
File: Base (no auto-title, OpenLayers/Format/GML/Base.js)
File: v2 (no auto-title, OpenLayers/Format/GML/v2.js)
File: v3 (no auto-title, OpenLayers/Format/GML/v3.js)
} # Group: GML
Group: SLD {
@@ -129,11 +148,6 @@ Group: OpenLayers {
File: v1_0_0 (no auto-title, OpenLayers/Format/SLD/v1_0_0.js)
} # Group: SLD
File: Text (no auto-title, OpenLayers/Format/Text.js)
File: WFS (no auto-title, OpenLayers/Format/WFS.js)
File: WKT (no auto-title, OpenLayers/Format/WKT.js)
File: XML (no auto-title, OpenLayers/Format/XML.js)
Group: WMC {
File: WMC (no auto-title, OpenLayers/Format/WMC.js)
@@ -142,6 +156,33 @@ Group: OpenLayers {
File: v1_1_0 (no auto-title, OpenLayers/Format/WMC/v1_1_0.js)
} # Group: WMC
Group: Format {
File: GeoJSON (no auto-title, OpenLayers/Format/GeoJSON.js)
File: GeoRSS (no auto-title, OpenLayers/Format/GeoRSS.js)
File: GPX (no auto-title, OpenLayers/Format/GPX.js)
File: JSON (no auto-title, OpenLayers/Format/JSON.js)
File: KML (no auto-title, OpenLayers/Format/KML.js)
File: OSM (no auto-title, OpenLayers/Format/OSM.js)
File: Text (no auto-title, OpenLayers/Format/Text.js)
File: WFS (no auto-title, OpenLayers/Format/WFS.js)
File: WFSDescribeFeatureType (OpenLayers/Format/WFSDescribeFeatureType.js)
Group: WFST {
File: WFST (no auto-title, OpenLayers/Format/WFST.js)
File: v1 (OpenLayers/Format/WFST/v1.js)
File: v1_0_0 (OpenLayers/Format/WFST/v1_0_0.js)
File: v1_1_0 (OpenLayers/Format/WFST/v1_1_0.js)
} # Group: WFST
File: WKT (no auto-title, OpenLayers/Format/WKT.js)
File: WMSDescribeLayer (OpenLayers/Format/WMSDescribeLayer.js)
File: WMSDescribeLayer.v1_1 (OpenLayers/Format/WMSDescribeLayer/v1_1.js)
File: WMSGetFeatureInfo (OpenLayers/Format/WMSGetFeatureInfo.js)
File: XML (no auto-title, OpenLayers/Format/XML.js)
} # Group: Format
} # Group: Format
Group: Geometry {
@@ -180,16 +221,27 @@ Group: OpenLayers {
Group: Lang {
File: Lang (no auto-title, OpenLayers/Lang.js)
File: Lang["cs-CZ"] (OpenLayers/Lang/cs-CZ.js)
File: Lang["de"] (no auto-title, OpenLayers/Lang/de.js)
File: Lang["en"] (no auto-title, OpenLayers/Lang/en.js)
File: Lang["en-CA"] (no auto-title, OpenLayers/Lang/en-CA.js)
File: Lang["fr"] (no auto-title, OpenLayers/Lang/fr.js)
File: ca (no auto-title, OpenLayers/Lang/ca.js)
File: cs-CZ (no auto-title, OpenLayers/Lang/cs-CZ.js)
File: da-DK (no auto-title, OpenLayers/Lang/da-DK.js)
File: de (no auto-title, OpenLayers/Lang/de.js)
File: en (no auto-title, OpenLayers/Lang/en.js)
File: en-CA (no auto-title, OpenLayers/Lang/en-CA.js)
File: es (no auto-title, OpenLayers/Lang/es.js)
File: fr (no auto-title, OpenLayers/Lang/fr.js)
File: it (no auto-title, OpenLayers/Lang/it.js)
File: nb (no auto-title, OpenLayers/Lang/nb.js)
File: nl (no auto-title, OpenLayers/Lang/nl.js)
File: pt-BR (no auto-title, OpenLayers/Lang/pt-BR.js)
File: sv-SE (no auto-title, OpenLayers/Lang/sv-SE.js)
File: zh-CN (no auto-title, OpenLayers/Lang/zh-CN.js)
File: zh-TW (no auto-title, OpenLayers/Lang/zh-TW.js)
} # Group: Lang
Group: Layer {
File: Layer (no auto-title, OpenLayers/Layer.js)
File: ArcGIS93Rest (no auto-title, OpenLayers/Layer/ArcGIS93Rest.js)
File: Boxes (no auto-title, OpenLayers/Layer/Boxes.js)
File: EventPane (no auto-title, OpenLayers/Layer/EventPane.js)
File: FixedZoomLevels (no auto-title, OpenLayers/Layer/FixedZoomLevels.js)
@@ -200,6 +252,7 @@ Group: OpenLayers {
File: HTTPRequest (no auto-title, OpenLayers/Layer/HTTPRequest.js)
File: Image (no auto-title, OpenLayers/Layer/Image.js)
File: KaMap (no auto-title, OpenLayers/Layer/KaMap.js)
File: KaMapCache (no auto-title, OpenLayers/Layer/KaMapCache.js)
File: MapGuide (no auto-title, OpenLayers/Layer/MapGuide.js)
File: MapServer (no auto-title, OpenLayers/Layer/MapServer.js)
File: MapServer.Untiled (no auto-title, OpenLayers/Layer/MapServer/Untiled.js)
@@ -211,6 +264,7 @@ Group: OpenLayers {
File: TileCache (no auto-title, OpenLayers/Layer/TileCache.js)
File: TMS (no auto-title, OpenLayers/Layer/TMS.js)
File: Vector (no auto-title, OpenLayers/Layer/Vector.js)
File: RootContainer (OpenLayers/Layer/Vector/RootContainer.js)
File: VirtualEarth (no auto-title, OpenLayers/Layer/VirtualEarth.js)
File: WFS (no auto-title, OpenLayers/Layer/WFS.js)
File: WMS (no auto-title, OpenLayers/Layer/WMS.js)
@@ -232,21 +286,60 @@ Group: OpenLayers {
File: Popup (no auto-title, OpenLayers/Popup.js)
File: Anchored (no auto-title, OpenLayers/Popup/Anchored.js)
File: AnchoredBubble (no auto-title, OpenLayers/Popup/AnchoredBubble.js)
File: Framed (OpenLayers/Popup/Framed.js)
File: FramedCloud (OpenLayers/Popup/FramedCloud.js)
File: Framed (no auto-title, OpenLayers/Popup/Framed.js)
File: FramedCloud (no auto-title, OpenLayers/Popup/FramedCloud.js)
} # Group: Popup
File: Projection (no auto-title, OpenLayers/Projection.js)
Group: Protocol {
File: Protocol (no auto-title, OpenLayers/Protocol.js)
File: HTTP (no auto-title, OpenLayers/Protocol/HTTP.js)
Group: SQL {
File: SQL (no auto-title, OpenLayers/Protocol/SQL.js)
File: Gears (no auto-title, OpenLayers/Protocol/SQL/Gears.js)
} # Group: SQL
Group: WFS {
File: WFS (no auto-title, OpenLayers/Protocol/WFS.js)
File: v1 (OpenLayers/Protocol/WFS/v1.js)
File: v1_0_0 (OpenLayers/Protocol/WFS/v1_0_0.js)
File: v1_1_0 (OpenLayers/Protocol/WFS/v1_1_0.js)
} # Group: WFS
} # Group: Protocol
Group: Renderer {
File: Renderer (no auto-title, OpenLayers/Renderer.js)
File: Canvas (no auto-title, OpenLayers/Renderer/Canvas.js)
File: Elements (no auto-title, OpenLayers/Renderer/Elements.js)
File: SVG (no auto-title, OpenLayers/Renderer/SVG.js)
File: VML (no auto-title, OpenLayers/Renderer/VML.js)
} # Group: Renderer
Group: Request {
File: Request (no auto-title, OpenLayers/Request.js)
File: XMLHttpRequest (no auto-title, OpenLayers/Request/XMLHttpRequest.js)
} # Group: Request
File: Rule (no auto-title, OpenLayers/Rule.js)
Group: Strategy {
File: Strategy (no auto-title, OpenLayers/Strategy.js)
File: BBOX (no auto-title, OpenLayers/Strategy/BBOX.js)
File: Cluster (no auto-title, OpenLayers/Strategy/Cluster.js)
File: Fixed (no auto-title, OpenLayers/Strategy/Fixed.js)
File: Paging (no auto-title, OpenLayers/Strategy/Paging.js)
File: Save (OpenLayers/Strategy/Save.js)
} # Group: Strategy
File: Style (no auto-title, OpenLayers/Style.js)
File: StyleMap (no auto-title, OpenLayers/StyleMap.js)

View File

@@ -1,25 +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">
]>
<?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>
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>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,3 +1,6 @@
# This is the full build with all files: this includes the vector-related files
# like Renderers and Formats.
[first]
OpenLayers/SingleFile.js
OpenLayers.js
@@ -13,9 +16,12 @@ Rico/Corner.js
[exclude]
Firebug/firebug.js
Firebug/firebugx.js
OpenLayers/Lang/ca.js
OpenLayers/Lang/cs-CZ.js
OpenLayers/Lang/da-DK.js
OpenLayers/Lang/de.js
OpenLayers/Lang/en-CA.js
OpenLayers/Lang/es.js
OpenLayers/Lang/fr.js
OpenLayers/Lang/it.js
OpenLayers/Lang/nb.js

View File

@@ -1,3 +1,7 @@
# This file includes the OpenLayers code to create a build for everything that
# does not require vector support. build.py uses this profile if no other one
# is specified.
[first]
OpenLayers/SingleFile.js
OpenLayers.js
@@ -46,9 +50,12 @@ OpenLayers/Renderer/Elements.js
OpenLayers/Renderer/SVG.js
OpenLayers/Renderer/VML.js
OpenLayers/Renderer.js
OpenLayers/Lang/ca.js
OpenLayers/Lang/cs-CZ.js
OpenLayers/Lang/da-DK.js
OpenLayers/Lang/de.js
OpenLayers/Lang/en-CA.js
OpenLayers/Lang/es.js
OpenLayers/Lang/fr.js
OpenLayers/Lang/it.js
OpenLayers/Lang/nb.js

View File

@@ -1,3 +1,9 @@
# This file includes a small subset of OpenLayers code, designed to be
# integrated into another application. It includes only the Layer types
# neccesary to create tiled or untiled WMS, and does not include any Controls.
# This is the result of what was at the time called "Webmap.js" at the FOSS4G
# Web Mapping BOF.
[first]
OpenLayers/SingleFile.js
OpenLayers.js
@@ -8,15 +14,8 @@ 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,9 +1,13 @@
OpenLayers contributors:
Mike Adair
Jeff Adams
Seb Benthall
Howard Butler
Bertil Chaupis
John Cole
Tim Coulter
Robert Coup
Jeff Dege
Roald de Wit
Schuyler Erle
@@ -18,6 +22,7 @@ Philip Lindsay
Martijn van Oosterhout
David Overstrom
Corey Puffault
Peter William Robins
Gregers Rygg
Tim Schaub
Christopher Schmidt
@@ -28,10 +33,12 @@ 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.

View File

@@ -1,49 +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;
}
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;
}

View File

@@ -1,3 +1,7 @@
Automatically generated OpenLayers API documentation is online:
http://dev.openlayers.org/apidocs
Automatically generated OpenLayers API documentation is online:
http://dev.openlayers.org/apidocs
More information on documentation is available from:
http://trac.openlayers.org/wiki/Documentation

View File

@@ -45,10 +45,9 @@ SubTitle: JavaScript Mapping Library
# --------------------------------------------------------------------------
File: OpenLayers (OpenLayers.js)
Group: OpenLayers {
File: OpenLayers (no auto-title, OpenLayers.js)
File: Ajax (no auto-title, OpenLayers/Ajax.js)
Group: BaseTypes {
@@ -74,8 +73,10 @@ Group: OpenLayers {
File: DragPan (no auto-title, OpenLayers/Control/DragPan.js)
File: DrawFeature (no auto-title, OpenLayers/Control/DrawFeature.js)
File: EditingToolbar (no auto-title, OpenLayers/Control/EditingToolbar.js)
File: GetFeature (no auto-title, OpenLayers/Control/GetFeature.js)
File: KeyboardDefaults (no auto-title, OpenLayers/Control/KeyboardDefaults.js)
File: LayerSwitcher (no auto-title, OpenLayers/Control/LayerSwitcher.js)
File: Measure (no auto-title, OpenLayers/Control/Measure.js)
File: ModifyFeature (no auto-title, OpenLayers/Control/ModifyFeature.js)
File: MouseDefaults (no auto-title, OpenLayers/Control/MouseDefaults.js)
File: MousePosition (no auto-title, OpenLayers/Control/MousePosition.js)
@@ -84,14 +85,21 @@ Group: OpenLayers {
File: NavigationHistory (no auto-title, OpenLayers/Control/NavigationHistory.js)
File: NavToolbar (no auto-title, OpenLayers/Control/NavToolbar.js)
File: OverviewMap (no auto-title, OpenLayers/Control/OverviewMap.js)
File: Pan (no auto-title, OpenLayers/Control/Pan.js)
File: Panel (no auto-title, OpenLayers/Control/Panel.js)
File: PanPanel (no auto-title, OpenLayers/Control/PanPanel.js)
File: PanZoom (no auto-title, OpenLayers/Control/PanZoom.js)
File: PanZoomBar (no auto-title, OpenLayers/Control/PanZoomBar.js)
File: Permalink (no auto-title, OpenLayers/Control/Permalink.js)
File: Scale (no auto-title, OpenLayers/Control/Scale.js)
File: ScaleLine (no auto-title, OpenLayers/Control/ScaleLine.js)
File: SelectFeature (no auto-title, OpenLayers/Control/SelectFeature.js)
File: Snapping (no auto-title, OpenLayers/Control/Snapping.js)
File: Split (no auto-title, OpenLayers/Control/Split.js)
File: ZoomBox (no auto-title, OpenLayers/Control/ZoomBox.js)
File: ZoomIn (no auto-title, OpenLayers/Control/ZoomIn.js)
File: ZoomOut (no auto-title, OpenLayers/Control/ZoomOut.js)
File: ZoomPanel (no auto-title, OpenLayers/Control/ZoomPanel.js)
File: ZoomToMaxExtent (no auto-title, OpenLayers/Control/ZoomToMaxExtent.js)
} # Group: Control
@@ -110,17 +118,28 @@ Group: OpenLayers {
File: Comparison (no auto-title, OpenLayers/Filter/Comparison.js)
File: FeatureId (no auto-title, OpenLayers/Filter/FeatureId.js)
File: Logical (no auto-title, OpenLayers/Filter/Logical.js)
File: Spatial (no auto-title, OpenLayers/Filter/Spatial.js)
} # Group: Filter
Group: Format {
File: Format (no auto-title, OpenLayers/Format.js)
File: GeoJSON (no auto-title, OpenLayers/Format/GeoJSON.js)
File: GeoRSS (no auto-title, OpenLayers/Format/GeoRSS.js)
File: GML (no auto-title, OpenLayers/Format/GML.js)
File: JSON (no auto-title, OpenLayers/Format/JSON.js)
File: KML (no auto-title, OpenLayers/Format/KML.js)
File: OSM (no auto-title, OpenLayers/Format/OSM.js)
Group: Filter {
File: Filter (no auto-title, OpenLayers/Format/Filter.js)
File: v1 (no auto-title, OpenLayers/Format/Filter/v1.js)
File: v1_0_0 (no auto-title, OpenLayers/Format/Filter/v1_0_0.js)
File: v1_1_0 (OpenLayers/Format/Filter/v1_1_0.js)
} # Group: Filter
Group: GML {
File: GML (no auto-title, OpenLayers/Format/GML.js)
File: Base (no auto-title, OpenLayers/Format/GML/Base.js)
File: v2 (no auto-title, OpenLayers/Format/GML/v2.js)
File: v3 (no auto-title, OpenLayers/Format/GML/v3.js)
} # Group: GML
Group: SLD {
@@ -129,11 +148,6 @@ Group: OpenLayers {
File: v1_0_0 (no auto-title, OpenLayers/Format/SLD/v1_0_0.js)
} # Group: SLD
File: Text (no auto-title, OpenLayers/Format/Text.js)
File: WFS (no auto-title, OpenLayers/Format/WFS.js)
File: WKT (no auto-title, OpenLayers/Format/WKT.js)
File: XML (no auto-title, OpenLayers/Format/XML.js)
Group: WMC {
File: WMC (no auto-title, OpenLayers/Format/WMC.js)
@@ -142,6 +156,33 @@ Group: OpenLayers {
File: v1_1_0 (no auto-title, OpenLayers/Format/WMC/v1_1_0.js)
} # Group: WMC
Group: Format {
File: GeoJSON (no auto-title, OpenLayers/Format/GeoJSON.js)
File: GeoRSS (no auto-title, OpenLayers/Format/GeoRSS.js)
File: GPX (no auto-title, OpenLayers/Format/GPX.js)
File: JSON (no auto-title, OpenLayers/Format/JSON.js)
File: KML (no auto-title, OpenLayers/Format/KML.js)
File: OSM (no auto-title, OpenLayers/Format/OSM.js)
File: Text (no auto-title, OpenLayers/Format/Text.js)
File: WFS (no auto-title, OpenLayers/Format/WFS.js)
File: WFSDescribeFeatureType.js (OpenLayers/Format/WFSDescribeFeatureType.js)
Group: WFST {
File: WFST (no auto-title, OpenLayers/Format/WFST.js)
File: v1 (OpenLayers/Format/WFST/v1.js)
File: v1_0_0 (OpenLayers/Format/WFST/v1_0_0.js)
File: v1_1_0 (OpenLayers/Format/WFST/v1_1_0.js)
} # Group: WFST
File: WKT (no auto-title, OpenLayers/Format/WKT.js)
File: WMSDescribeLayer (OpenLayers/Format/WMSDescribeLayer.js)
File: WMSDescribeLayer.v1_1 (OpenLayers/Format/WMSDescribeLayer/v1_1.js)
File: WMSGetFeatureInfo (OpenLayers/Format/WMSGetFeatureInfo.js)
File: XML (no auto-title, OpenLayers/Format/XML.js)
} # Group: Format
} # Group: Format
Group: Geometry {
@@ -180,16 +221,27 @@ Group: OpenLayers {
Group: Lang {
File: Lang (no auto-title, OpenLayers/Lang.js)
File: Lang["cs-CZ"] (OpenLayers/Lang/cs-CZ.js)
File: Lang["de"] (no auto-title, OpenLayers/Lang/de.js)
File: Lang["en"] (no auto-title, OpenLayers/Lang/en.js)
File: Lang["en-CA"] (no auto-title, OpenLayers/Lang/en-CA.js)
File: Lang["fr"] (no auto-title, OpenLayers/Lang/fr.js)
File: ca (no auto-title, OpenLayers/Lang/ca.js)
File: cs-CZ (no auto-title, OpenLayers/Lang/cs-CZ.js)
File: da-DK (no auto-title, OpenLayers/Lang/da-DK.js)
File: de (no auto-title, OpenLayers/Lang/de.js)
File: en (no auto-title, OpenLayers/Lang/en.js)
File: en-CA (no auto-title, OpenLayers/Lang/en-CA.js)
File: es (no auto-title, OpenLayers/Lang/es.js)
File: fr (no auto-title, OpenLayers/Lang/fr.js)
File: it (no auto-title, OpenLayers/Lang/it.js)
File: nb (no auto-title, OpenLayers/Lang/nb.js)
File: nl (no auto-title, OpenLayers/Lang/nl.js)
File: pt-BR (no auto-title, OpenLayers/Lang/pt-BR.js)
File: sv-SE (no auto-title, OpenLayers/Lang/sv-SE.js)
File: zh-CN (no auto-title, OpenLayers/Lang/zh-CN.js)
File: zh-TW (no auto-title, OpenLayers/Lang/zh-TW.js)
} # Group: Lang
Group: Layer {
File: Layer (no auto-title, OpenLayers/Layer.js)
File: ArcGIS93Rest (no auto-title, OpenLayers/Layer/ArcGIS93Rest.js)
File: Boxes (no auto-title, OpenLayers/Layer/Boxes.js)
File: EventPane (no auto-title, OpenLayers/Layer/EventPane.js)
File: FixedZoomLevels (no auto-title, OpenLayers/Layer/FixedZoomLevels.js)
@@ -200,6 +252,7 @@ Group: OpenLayers {
File: HTTPRequest (no auto-title, OpenLayers/Layer/HTTPRequest.js)
File: Image (no auto-title, OpenLayers/Layer/Image.js)
File: KaMap (no auto-title, OpenLayers/Layer/KaMap.js)
File: KaMapCache (no auto-title, OpenLayers/Layer/KaMapCache.js)
File: MapGuide (no auto-title, OpenLayers/Layer/MapGuide.js)
File: MapServer (no auto-title, OpenLayers/Layer/MapServer.js)
File: MapServer.Untiled (no auto-title, OpenLayers/Layer/MapServer/Untiled.js)
@@ -211,6 +264,7 @@ Group: OpenLayers {
File: TileCache (no auto-title, OpenLayers/Layer/TileCache.js)
File: TMS (no auto-title, OpenLayers/Layer/TMS.js)
File: Vector (no auto-title, OpenLayers/Layer/Vector.js)
File: RootContainer (OpenLayers/Layer/Vector/RootContainer.js)
File: VirtualEarth (no auto-title, OpenLayers/Layer/VirtualEarth.js)
File: WFS (no auto-title, OpenLayers/Layer/WFS.js)
File: WMS (no auto-title, OpenLayers/Layer/WMS.js)
@@ -232,21 +286,60 @@ Group: OpenLayers {
File: Popup (no auto-title, OpenLayers/Popup.js)
File: Anchored (no auto-title, OpenLayers/Popup/Anchored.js)
File: AnchoredBubble (no auto-title, OpenLayers/Popup/AnchoredBubble.js)
File: Framed (OpenLayers/Popup/Framed.js)
File: FramedCloud (OpenLayers/Popup/FramedCloud.js)
File: Framed (no auto-title, OpenLayers/Popup/Framed.js)
File: FramedCloud (no auto-title, OpenLayers/Popup/FramedCloud.js)
} # Group: Popup
File: Projection (no auto-title, OpenLayers/Projection.js)
Group: Protocol {
File: Protocol (no auto-title, OpenLayers/Protocol.js)
File: HTTP (no auto-title, OpenLayers/Protocol/HTTP.js)
Group: SQL {
File: SQL (no auto-title, OpenLayers/Protocol/SQL.js)
File: Gears (no auto-title, OpenLayers/Protocol/SQL/Gears.js)
} # Group: SQL
Group: WFS {
File: WFS (no auto-title, OpenLayers/Protocol/WFS.js)
File: v1 (OpenLayers/Protocol/WFS/v1.js)
File: v1_0_0 (OpenLayers/Protocol/WFS/v1_0_0.js)
File: v1_1_0 (OpenLayers/Protocol/WFS/v1_1_0.js)
} # Group: WFS
} # Group: Protocol
Group: Renderer {
File: Renderer (no auto-title, OpenLayers/Renderer.js)
File: Canvas (no auto-title, OpenLayers/Renderer/Canvas.js)
File: Elements (no auto-title, OpenLayers/Renderer/Elements.js)
File: SVG (no auto-title, OpenLayers/Renderer/SVG.js)
File: VML (no auto-title, OpenLayers/Renderer/VML.js)
} # Group: Renderer
Group: Request {
File: Request (no auto-title, OpenLayers/Request.js)
File: XMLHttpRequest (no auto-title, OpenLayers/Request/XMLHttpRequest.js)
} # Group: Request
File: Rule (no auto-title, OpenLayers/Rule.js)
Group: Strategy {
File: Strategy (no auto-title, OpenLayers/Strategy.js)
File: BBOX (no auto-title, OpenLayers/Strategy/BBOX.js)
File: Cluster (no auto-title, OpenLayers/Strategy/Cluster.js)
File: Fixed (no auto-title, OpenLayers/Strategy/Fixed.js)
File: Paging (no auto-title, OpenLayers/Strategy/Paging.js)
File: Save (OpenLayers/Strategy/Save.js)
} # Group: Strategy
File: Style (no auto-title, OpenLayers/Style.js)
File: StyleMap (no auto-title, OpenLayers/StyleMap.js)

View File

@@ -0,0 +1,41 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers WMSDescribeLayer Parser Example</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
function parseData(req) {
format = new OpenLayers.Format.WMSDescribeLayer();
html = "<br />"
resp = format.read(req.responseText);
for(var i = 0; i < resp.length; i++) {
html += "Layer: typeName: "+ resp[i].typeName+",";
html += "<ul>";
html += "<li>owsURL: "+resp[i].owsURL+"</li>";
html += "<li>owsType: "+resp[i].owsType+"</li>";
html += "</ul>"
}
document.getElementById('output').innerHTML = html;
}
function load() {
OpenLayers.loadURL("xml/wmsdescribelayer.xml", "", null, parseData);
}
</script>
</head>
<body onload="load()">
<h1 id="title">WMSDescribeLayer Parser Example</h1>
<div id="tags"></div>
<p id="shortdesc">
Demonstrate the operation of the WMSDescribeLayer parser.
</p>
<div id="output"></div>
<div id="docs">
This script reads data from a file and parses out the coordinates, appending them to a HTML string with markup tags.
This markup is dumped to an element in the page.
</div>
</body>
</html>

View File

@@ -0,0 +1,69 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>All Overlays Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map;
function init() {
map = new OpenLayers.Map({
div: "map",
allOverlays: true,
maxExtent: new OpenLayers.Bounds(
1549471.9221, 6403610.94, 1550001.32545, 6404015.8
)
});
// give the features some style
var styles = new OpenLayers.StyleMap({
"default": {
strokeWidth: 2
},
"select": {
strokeColor: "#0099cc",
strokeWidth: 4
}
});
// add rules from the above lookup table
styles.addUniqueValueRules("default", "RP_TYPE", {
10: {strokeColor: "#000000", strokeWidth: 2},
12: {strokeColor: "#222222", strokeWidth: 2},
14: {strokeColor: "#444444", strokeWidth: 2},
16: {strokeColor: "#666666", strokeWidth: 2},
18: {strokeColor: "#888888", strokeWidth: 2},
19: {strokeColor: "#666666", strokeWidth: 1}
});
var vectors = new OpenLayers.Layer.Vector("Lines", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "data/roads.json",
format: new OpenLayers.Format.GeoJSON()
}),
styleMap: styles
});
map.addLayer(vectors);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
}
</script>
</head>
<body onload="init()">
<h1 id="title">OpenLayers Overlays Only Example</h1>
<p id="shortdesc">
Demonstrates a map with overlays only.
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
To create a map that allows any draw order with all layer types
and lets you set the visibility of any layer independently, set
the allOverlays property on the map to true.
</div>
</body>
</html>

View File

@@ -34,7 +34,7 @@
});
function init(){
map = new OpenLayers.Map('map');
map = new OpenLayers.Map('map', {numZoomLevels: 2});
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
@@ -45,7 +45,7 @@
click.activate();
map.addControl(new OpenLayers.Control.OverviewMap());
map2 = new OpenLayers.Map('map2', {'panMethod': null} );
map2 = new OpenLayers.Map('map2', {'panMethod': null, numZoomLevels: 2} );
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );

View File

@@ -0,0 +1,64 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map;
var layer;
function init(){
var mapOptions = {
maxExtent: new OpenLayers.Bounds(-174,18.4,-63.5,71),
maxResolution: 0.25,
projection: "EPSG:4326"};
map = new OpenLayers.Map( 'map', mapOptions );
layer = new OpenLayers.Layer.ArcGIS93Rest( "ArcGIS Server Layer",
"http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer/export",
{layers: "show:0,2"});
map.addLayer(layer);
map.addControl( new OpenLayers.Control.MousePosition() );
map.setCenter(new OpenLayers.LonLat(-115, 45), 0);
}
function enableFilter() {
layer.setLayerFilter(2, "STATE_NAME LIKE '%" + document.getElementById('filterValueField').value + "%'");
layer.redraw();
}
function disableFilter() {
layer.setLayerFilter(2, null);
layer.redraw();
}
function updateButton() {
document.getElementById('filterButton').value = "Show '" +
document.getElementById('filterValueField').value + "' States";
}
</script>
</head>
<body onload="init()">
<h1 id="title">ArcGIS Server 9.3 Rest API Example</h1>
<div id="tags">
</div>
<p id="shortdesc">
Shows the basic use of openlayers using an ArcGIS Server 9.3 Rest API layer
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
This is an example of how to add an ArcGIS Server 9.3 Rest API layer to the OpenLayers window.
</div>
<input id="filterValueField" type="textfield" value="A"/>
<input id="filterButton" type="button" onclick="enableFilter();" value="Filter States"/>
<input type="button" onclick="disableFilter();" value="Show All States"/>
<br>
(Filter is case sensitive.)
</body>
</html>

View File

@@ -0,0 +1,77 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ArcIMS Thematic Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var lon = 0;
var lat = 0;
var zoom = 1;
var map, layer;
var query, renderer;
function init() {
OpenLayers.ProxyHost = "proxy.cgi?url=";
map = new OpenLayers.Map('map');
query = {where: "FIPS_ID>100 AND FIPS_ID<200"};
renderer = {
type: 'valuemap',
lookupfield: 'FIPS_ID',
ranges: [
{ lower: 100, upper: 120, symbol: { type: 'simplepolygon', fillcolor: '255,0,0' } },
{ lower: 120, upper: 140, symbol: { type: 'simplepolygon', fillcolor: '255,255,0' } },
{ lower: 140, upper: 160, symbol: { type: 'simplepolygon', fillcolor: '0,255,0' } },
{ lower: 160, upper: 180, symbol: { type: 'simplepolygon', fillcolor: '0,255,255' } },
{ lower: 180, upper: 200, symbol: { type: 'simplepolygon', fillcolor: '0,0,255' } }
]
};
var options = {
layers: [{
id: "1",
visible: true,
query: query,
renderer: renderer
}],
serviceName: "OpenLayers_Sample",
singleTile: true,
async: true
};
layer = new OpenLayers.Layer.ArcIMS(
"Global Sample Map",
"http://sample.avencia.com/servlet/com.esri.esrimap.Esrimap",
options
);
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.addControl(new OpenLayers.Control.LayerSwitcher());
}
</script>
</head>
<body onload="init()">
<h1 id="title">ArcIMS Thematic Example</h1>
<div id="tags">
</div>
<p id="shortdesc">
Shows the advanced use of OpenLayers using a thematic ArcIMS layer
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
<p>This is an example of how to add an ArcIMS layer to an OpenLayers map.</p>
<p>Following the ArcXML convention to create a thematic (or chloropleth) map,
a layer definition is created with a query and a renderer to select portions
of the map data, and change their representation in the generated map tiles.</p>
</div>
</body>
</html>

52
examples/arcims.html Normal file
View File

@@ -0,0 +1,52 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ArcIMS Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var lon = 0;
var lat = 0;
var zoom = 1;
var map, layer;
function init(){
OpenLayers.ProxyHost = "proxy.cgi?url=";
map = new OpenLayers.Map( 'map' );
var options = {
serviceName: "OpenLayers_Sample",
async: true
};
layer = new OpenLayers.Layer.ArcIMS( "Global Sample Map",
"http://sample.avencia.com/servlet/com.esri.esrimap.Esrimap", options );
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
}
</script>
</head>
<body onload="init()">
<h1 id="title">ArcIMS Example</h1>
<div id="tags">
</div>
<p id="shortdesc">
Shows the basic use of OpenLayers using an ArcIMS layer
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
This is an example of how to add an ArcIMS layer to the OpenLayers window.
</div>
</body>
</html>

View File

@@ -19,7 +19,7 @@
protocol: new OpenLayers.Protocol.HTTP({
url: "gml/polygon.xml",
format: new OpenLayers.Format.GML()
}),
})
});
map.addLayers([wms, layer]);

View File

@@ -88,7 +88,7 @@
controls = {
"single": new OpenLayers.Control.Click({
hanlerOptions: {
handlerOptions: {
"single": true
}
}),

View File

@@ -10,8 +10,8 @@
function init(){
map = new OpenLayers.Map('map', {
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.MouseToolbar(),
new OpenLayers.Control.LayerSwitcher({'ascending':false}),
new OpenLayers.Control.Permalink(),
new OpenLayers.Control.ScaleLine(),

10
examples/data/line.json Normal file
View File

@@ -0,0 +1,10 @@
{
"type": "FeatureCollection",
"features": [
{"type":"Feature", "id":"OpenLayers.Feature.Vector_458", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[-121.640625, 24.2578125], [-78.046875, 27.7734375], [-45.703125, 24.9609375], [-13.359375, 16.5234375], [12.65625, 6.6796875], [39.375, 1.0546875], [76.640625, 1.0546875], [108.28125, 1.7578125], [156.09375, 15.8203125]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1111", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[-122.34375, -35.5078125], [-48.515625, -33.3984375], [-5.625, -37.6171875], [20.390625, -32.6953125], [69.609375, -34.1015625], [121.640625, -38.3203125], [150.46875, -33.3984375]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
{"type":"Feature", "id":"OpenLayers.Feature.Vector_634", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[-54.84375, 69.9609375], [-56.953125, 31.9921875], [-56.953125, 5.2734375], [-65.390625, -34.8046875], [-66.09375, -61.5234375]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
{"type":"Feature", "id":"OpenLayers.Feature.Vector_820", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[39.375, 58.0078125], [42.890625, 25.6640625], [42.1875, -1.0546875], [37.96875, -50.2734375], [37.265625, -64.3359375]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1280", "properties":{}, "geometry":{"type":"LineString", "coordinates":[[101.25, 42.5390625], [106.875, 13.7109375], [106.171875, -17.9296875], [104.765625, -49.5703125], [102.65625, -67.1484375]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}}
]
}

8
examples/data/point.json Normal file
View File

@@ -0,0 +1,8 @@
{
"type": "FeatureCollection",
"features": [
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1721", "properties":{}, "geometry":{"type":"Point", "coordinates":[-89.296875, -14.4140625]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1715", "properties":{}, "geometry":{"type":"Point", "coordinates":[-25.3125, -54.4921875]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1709", "properties":{}, "geometry":{"type":"Point", "coordinates":[73.828125, -23.5546875]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}}
]
}

9
examples/data/poly.json Normal file
View File

@@ -0,0 +1,9 @@
{
"type": "FeatureCollection",
"features": [
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1489", "properties":{}, "geometry":{"type":"Polygon", "coordinates":[[[-109.6875, 63.6328125], [-112.5, 35.5078125], [-85.078125, 34.8046875], [-68.90625, 39.7265625], [-68.203125, 67.1484375], [-109.6875, 63.6328125]]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}},
{"type":"Feature", "id":"OpenLayers.Feature.Vector_1668", "properties":{}, "geometry":{"type":"Polygon", "coordinates":[[[-40.78125, 65.0390625], [-40.078125, 34.8046875], [-12.65625, 25.6640625], [21.09375, 17.2265625], [22.5, 58.0078125], [-40.78125, 65.0390625]]]}, "crs":{"type":"OGC", "properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}}}
]
}

349
examples/data/roads.json Normal file
View File

@@ -0,0 +1,349 @@
{
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "properties": { "LINK_ID": 30760460.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "24", "L_NREFADDR": "22", "R_REFADDR": "27", "R_NREFADDR": "23", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 41.871700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.330250, 6403958.170400 ], [ 1549594.439950, 6403973.130400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730499.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 46.382600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549497.669850, 6403707.960000 ], [ 1549491.100000, 6403710.100000 ], [ 1549488.039950, 6403716.750400 ], [ 1549488.540100, 6403724.550400 ], [ 1549494.379850, 6403733.540000 ], [ 1549499.679900, 6403738.050400 ], [ 1549506.220000, 6403739.250400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760556.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "24", "L_NREFADDR": "16", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 70.310600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549754.276900, 6403854.802400 ], [ 1549728.459850, 6403920.200000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760712.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "9", "R_NREFADDR": "9", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 40.068900 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549571.899950, 6403675.450400 ], [ 1549592.674200, 6403684.530400 ], [ 1549608.619850, 6403691.500000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30837043.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 78.203400 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549741.089950, 6403765.520000 ], [ 1549730.790150, 6403779.880000 ], [ 1549703.919950, 6403834.130400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80545558.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NORRA VARVSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 20.687400 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549909.400050, 6403973.670400 ], [ 1549900.829950, 6403992.491200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760549.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "38", "L_NREFADDR": "36", "R_REFADDR": "33", "R_NREFADDR": "31", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 32.788800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549878.029900, 6403861.890400 ], [ 1549867.520100, 6403892.960000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547479.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BREDGATAN", "L_REFADDR": "18", "L_NREFADDR": "14", "R_REFADDR": "15", "R_NREFADDR": "13", "SPEED_CAT": "8", "ZIPCODE": "59330", "SHAPE_LEN": 15.654700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549645.069900, 6403971.520000 ], [ 1549638.940000, 6403985.930400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760575.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BREDGATAN", "L_REFADDR": "24", "L_NREFADDR": "14", "R_REFADDR": "19", "R_NREFADDR": "13", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 118.385000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549703.919950, 6403834.130400 ], [ 1549656.739950, 6403942.710400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760608.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "32", "L_NREFADDR": "32", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 74.462800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549566.450100, 6403780.090400 ], [ 1549635.170150, 6403808.780000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547481.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 13.834500 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549625.900050, 6403981.310400 ], [ 1549638.940000, 6403985.930400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730495.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 63.537000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549535.370100, 6403692.830400 ], [ 1549549.530050, 6403703.030400 ], [ 1549570.300100, 6403708.850400 ], [ 1549570.600050, 6403733.360000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80545560.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 20.545100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549927.119850, 6403985.020000 ], [ 1549944.182350, 6403996.455200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760664.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "3", "R_NREFADDR": "1", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 59.030600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549679.130150, 6403720.210400 ], [ 1549717.099900, 6403730.700000 ], [ 1549726.590150, 6403734.160000 ], [ 1549734.260050, 6403739.820000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547480.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "20", "L_NREFADDR": "20", "R_REFADDR": "21", "R_NREFADDR": "21", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 12.375300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549614.030150, 6403977.820000 ], [ 1549621.149850, 6403980.140000 ], [ 1549625.900050, 6403981.310400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760739.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "13", "R_NREFADDR": "11", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 57.793000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549522.250000, 6403645.880000 ], [ 1549571.899950, 6403675.450400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80545557.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NORRA VARVSGATAN", "L_REFADDR": "26", "L_NREFADDR": "20", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 62.216100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549929.770050, 6403914.890400 ], [ 1549909.400050, 6403973.670400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760610.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "SLOTTSHOLMSV<53>GEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 60.324700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549921.910100, 6403780.010400 ], [ 1549931.136800, 6403785.640000 ], [ 1549946.150050, 6403794.800000 ], [ 1549960.880150, 6403807.230400 ], [ 1549962.209450, 6403808.998400 ], [ 1549968.489850, 6403817.350400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760475.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "SP<53>TORGET", "L_REFADDR": "9", "L_NREFADDR": "1", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "8", "ZIPCODE": "59330", "SHAPE_LEN": 70.301600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549656.739950, 6403942.710400 ], [ 1549631.800000, 6403936.830400 ], [ 1549614.030150, 6403977.820000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547460.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "30", "L_NREFADDR": "26", "R_REFADDR": "31", "R_NREFADDR": "29", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 62.288000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549496.649950, 6403937.400000 ], [ 1549525.699950, 6403946.670400 ], [ 1549555.330250, 6403958.170400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547482.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 22.019100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549645.069900, 6403971.520000 ], [ 1549637.249850, 6403978.110400 ], [ 1549633.070150, 6403979.170400 ], [ 1549625.900050, 6403981.310400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730502.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 26.440100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549535.370100, 6403692.830400 ], [ 1549528.510100, 6403718.360000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730491.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "48", "L_NREFADDR": "48", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 53.485400 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549608.619850, 6403691.500000 ], [ 1549600.079850, 6403708.100000 ], [ 1549584.219950, 6403739.090400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760461.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "R<>DHUSGATAN", "L_REFADDR": "52", "L_NREFADDR": "50", "R_REFADDR": "43", "R_NREFADDR": "41", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 62.397200 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.330250, 6403958.170400 ], [ 1549531.400050, 6404015.800000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760674.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 13.834500 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549666.080050, 6403715.590400 ], [ 1549679.130150, 6403720.210400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80545555.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "SLOTTSHOLMSV<53>GEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 185.679000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549968.489850, 6403817.350400 ], [ 1549977.779900, 6403836.400000 ], [ 1549983.460050, 6403858.740000 ], [ 1549982.539900, 6403884.350400 ], [ 1549978.140050, 6403903.230400 ], [ 1549947.139850, 6403954.090400 ], [ 1549927.119850, 6403985.020000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760515.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NORRA VARVSGATAN", "L_REFADDR": "30", "L_NREFADDR": "28", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 22.968600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549938.960000, 6403893.840000 ], [ 1549929.770050, 6403914.890400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760497.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 24.829800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549488.599950, 6403913.910400 ], [ 1549496.649950, 6403937.400000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30837044.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 146.769000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549776.080150, 6403777.100000 ], [ 1549785.590000, 6403778.330400 ], [ 1549886.280100, 6403772.890400 ], [ 1549908.484450, 6403777.327200 ], [ 1549921.910100, 6403780.010400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760477.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "14", "L_NREFADDR": "12", "R_REFADDR": "19", "R_NREFADDR": "11", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 78.700300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549723.519950, 6403934.620000 ], [ 1549697.600000, 6404008.930400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760542.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "22", "L_NREFADDR": "18", "R_REFADDR": "29", "R_NREFADDR": "21", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 34.587000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549798.179850, 6403867.590400 ], [ 1549830.790050, 6403879.130400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760457.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NYGATAN", "L_REFADDR": "8", "L_NREFADDR": "6", "R_REFADDR": "15", "R_NREFADDR": "7", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 45.468000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549796.459950, 6403958.910400 ], [ 1549839.739900, 6403972.810400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573703846.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 8.208130 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549734.260050, 6403739.820000 ], [ 1549738.939900, 6403746.560000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760631.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 46.824600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549741.290150, 6403748.820000 ], [ 1549753.539450, 6403766.201600 ], [ 1549754.750100, 6403767.920000 ], [ 1549761.249950, 6403772.460000 ], [ 1549776.080150, 6403777.100000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760491.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 15.240700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549728.459850, 6403920.200000 ], [ 1549723.519950, 6403934.620000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760566.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "NORRA VARVSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 54.648300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549960.410100, 6403843.980000 ], [ 1549959.139950, 6403850.640000 ], [ 1549952.470000, 6403860.580000 ], [ 1549938.960000, 6403893.840000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547447.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 13.369300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549927.421200, 6403767.822400 ], [ 1549921.910100, 6403780.010400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730503.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 44.681900 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549528.510100, 6403718.360000 ], [ 1549570.600050, 6403733.360000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80545559.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 21.047100 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549909.400050, 6403973.670400 ], [ 1549927.119850, 6403985.020000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547444.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 46.504800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549967.599100, 6403744.932000 ], [ 1549943.650000, 6403755.770400 ], [ 1549927.421200, 6403767.822400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730492.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 44.681800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549584.219950, 6403739.090400 ], [ 1549566.450100, 6403780.090400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760700.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "7", "R_NREFADDR": "5", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 62.310700 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549608.619850, 6403691.500000 ], [ 1549666.080050, 6403715.590400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760611.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 51.110800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549921.910100, 6403780.010400 ], [ 1549913.480000, 6403787.710400 ], [ 1549891.640000, 6403820.850400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547478.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BREDGATAN", "L_REFADDR": "24", "L_NREFADDR": "20", "R_REFADDR": "19", "R_NREFADDR": "17", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 31.088600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549656.739950, 6403942.710400 ], [ 1549645.069900, 6403971.520000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760451.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "KVARNGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 20.146600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549594.439950, 6403973.130400 ], [ 1549614.030150, 6403977.820000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760525.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "16", "L_NREFADDR": "14", "R_REFADDR": "19", "R_NREFADDR": "15", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 39.254300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549830.790050, 6403879.130400 ], [ 1549867.520100, 6403892.960000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760497.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 24.829800 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549488.599950, 6403913.910400 ], [ 1549496.649950, 6403937.400000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573703847.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 3.259030 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549738.939900, 6403746.560000 ], [ 1549741.290150, 6403748.820000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730500.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 31.544900 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549528.510100, 6403718.360000 ], [ 1549511.590050, 6403738.200000 ], [ 1549506.220000, 6403739.250400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730504.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 32.542600 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549497.669850, 6403707.960000 ], [ 1549528.510100, 6403718.360000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760589.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "", "CHANGED": "", "USERID": "", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "23", "R_NREFADDR": "21", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 47.569300 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549771.489900, 6403810.460000 ], [ 1549754.276900, 6403854.802400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270836", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 34.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549967.599100, 6403744.932000 ], [ 1549999.352500, 6403730.830400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270839", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 9.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549967.599100, 6403744.932000 ], [ 1549975.575600, 6403750.824800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270840", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 18.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549975.575600, 6403750.824800 ], [ 1549992.301750, 6403743.152800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 22, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270840", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 16.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1550001.325450, 6403756.464000 ], [ 1549992.301750, 6403743.152800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270842", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 12.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549927.421200, 6403767.822400 ], [ 1549936.717550, 6403775.876000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270842", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 46.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549936.717550, 6403775.876000 ], [ 1549958.789600, 6403758.524000 ], [ 1549975.575600, 6403750.824800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547691.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808270844", "USERID": "LO-JKP", "ST_NAME": "NORRA BANGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 209.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549937.660100, 6403662.140000 ], [ 1549881.800100, 6403701.550400 ], [ 1549764.730000, 6403731.290400 ], [ 1549745.501350, 6403736.423200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547691.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808270844", "USERID": "LO-JKP", "ST_NAME": "NORRA BANGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 11.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549745.501350, 6403736.423200 ], [ 1549734.260050, 6403739.820000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270847", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 32.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549927.421200, 6403767.822400 ], [ 1549930.803600, 6403753.404000 ], [ 1549928.832400, 6403735.662400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270847", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 53.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549928.832400, 6403735.662400 ], [ 1549962.732350, 6403727.381600 ], [ 1549967.599100, 6403744.932000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270848", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 44.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549928.832400, 6403735.662400 ], [ 1549886.025300, 6403747.621600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270848", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 11.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549886.025300, 6403747.621600 ], [ 1549875.211350, 6403750.643200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270848", "USERID": "LO-JKP", "ST_NAME": "STATIONSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 19.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549888.409150, 6403767.056000 ], [ 1549886.025300, 6403747.621600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270922", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 20.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549745.501350, 6403736.423200 ], [ 1549760.669300, 6403722.331200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270923", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 126.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549760.669300, 6403722.331200 ], [ 1549771.919700, 6403716.340800 ], [ 1549815.248650, 6403610.940000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547535.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808270933", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 5.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549681.045700, 6403715.598400 ], [ 1549679.130150, 6403720.210400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270933", "USERID": "LO-JKP", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 68.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549745.501350, 6403736.423200 ], [ 1549740.387150, 6403731.321600 ], [ 1549681.045700, 6403715.598400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760732.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808270934", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "2", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 56.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549683.510050, 6403654.550400 ], [ 1549667.935400, 6403709.100000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760732.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808270934", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "2", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59332", "SHAPE_LEN": 6.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549667.935400, 6403709.100000 ], [ 1549666.080050, 6403715.590400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270934", "USERID": "LO-JKP", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 14.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549681.045700, 6403715.598400 ], [ 1549667.935400, 6403709.100000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270935", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 40.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549763.755600, 6403714.004800 ], [ 1549738.019750, 6403704.509600 ], [ 1549731.660600, 6403715.640800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547428.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270936", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "10", "L_NREFADDR": "2", "R_REFADDR": "1", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59331", "SHAPE_LEN": 15.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549766.018350, 6403708.067200 ], [ 1549763.755600, 6403714.004800 ], [ 1549760.669300, 6403722.331200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270936", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 48.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549766.018350, 6403708.067200 ], [ 1549736.048550, 6403696.628800 ], [ 1549743.183300, 6403681.558400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547428.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270936", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "10", "L_NREFADDR": "2", "R_REFADDR": "1", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59331", "SHAPE_LEN": 22.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549774.118750, 6403686.709600 ], [ 1549766.018350, 6403708.067200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270936", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 36.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549774.118750, 6403686.709600 ], [ 1549747.876450, 6403676.916800 ], [ 1549751.868550, 6403670.136800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547428.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808270937", "USERID": "LO-JKP", "ST_NAME": "HALLSTR<54>MSGATAN", "L_REFADDR": "10", "L_NREFADDR": "2", "R_REFADDR": "1", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59331", "SHAPE_LEN": 25.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549783.651700, 6403662.588800 ], [ 1549778.530150, 6403674.660000 ], [ 1549774.118750, 6403686.709600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547535.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808270938", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 18.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549703.060000, 6403662.590400 ], [ 1549695.854900, 6403679.940000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547535.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808270938", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "6", "ZIPCODE": "59331", "SHAPE_LEN": 38.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549695.854900, 6403679.940000 ], [ 1549681.045700, 6403715.598400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270938", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 27.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549695.854900, 6403679.940000 ], [ 1549710.817400, 6403684.797600 ], [ 1549716.384850, 6403674.867200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808270939", "USERID": "LO-JKP", "ST_NAME": "ESPLANADEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 18.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549704.982200, 6403658.172000 ], [ 1549717.515000, 6403662.725600 ], [ 1549719.527500, 6403657.506400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271124", "USERID": "LO-JKP", "ST_NAME": "F<>NGELSETORGET", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 192.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549908.200950, 6403637.271200 ], [ 1549910.100750, 6403648.924800 ], [ 1549887.237000, 6403693.868800 ], [ 1549878.956000, 6403699.779200 ], [ 1549807.205300, 6403714.370400 ], [ 1549760.669300, 6403722.331200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 1900112527.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808271126", "USERID": "LO-JKP", "ST_NAME": "F<>NGELSETORGET", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 100.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549809.770450, 6403695.048800 ], [ 1549792.424450, 6403687.958400 ], [ 1549824.218800, 6403612.351200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271126", "USERID": "LO-JKP", "ST_NAME": "F<>NGELSETOGET", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 17.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549817.102950, 6403710.910400 ], [ 1549809.770450, 6403695.048800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547449.000000, "RP_TYPE": 10, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271128", "USERID": "LO-JKP", "ST_NAME": "S<>DRA VARVSGATAN", "L_REFADDR": "40", "L_NREFADDR": "32", "R_REFADDR": "21", "R_NREFADDR": "15", "SPEED_CAT": "6", "ZIPCODE": "59350", "SHAPE_LEN": 23.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549989.554600, 6403806.848000 ], [ 1549976.880050, 6403812.990400 ], [ 1549968.489850, 6403817.350400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730501.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271500", "USERID": "LO-JKP", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 9.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549570.600050, 6403733.360000 ], [ 1549579.722100, 6403737.201600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730501.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271500", "USERID": "LO-JKP", "ST_NAME": "", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 4.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549579.722100, 6403737.201600 ], [ 1549584.219950, 6403739.090400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 573730505.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271504", "USERID": "LO-JKP", "ST_NAME": "L<>ROVERKSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 79.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549471.922100, 6403800.288000 ], [ 1549539.838900, 6403825.187200 ], [ 1549546.809850, 6403827.740000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59332", "SHAPE_LEN": 23.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549574.529850, 6403669.305600 ], [ 1549580.125650, 6403672.576800 ], [ 1549595.345750, 6403678.918400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "S<>DRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59332", "SHAPE_LEN": 80.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549595.345750, 6403678.918400 ], [ 1549617.976400, 6403688.348000 ], [ 1549648.329450, 6403702.939200 ], [ 1549654.639250, 6403704.509600 ], [ 1549660.157350, 6403703.329600 ], [ 1549667.935400, 6403709.100000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 68.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549579.722100, 6403737.201600 ], [ 1549586.633550, 6403729.352000 ], [ 1549598.065250, 6403704.509600 ], [ 1549595.698200, 6403698.599200 ], [ 1549588.604750, 6403693.078400 ], [ 1549592.674200, 6403684.530400 ], [ 1549595.345750, 6403678.918400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "KVARNGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 185.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549495.671350, 6403901.486400 ], [ 1549498.716350, 6403900.056000 ], [ 1549509.356700, 6403886.655200 ], [ 1549520.005100, 6403865.753600 ], [ 1549533.012150, 6403839.740800 ], [ 1549539.838900, 6403825.187200 ], [ 1549547.990750, 6403807.808000 ], [ 1549557.459650, 6403786.516800 ], [ 1549566.128450, 6403765.624800 ], [ 1549574.805650, 6403746.692800 ], [ 1549579.722100, 6403737.201600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547462.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "44", "L_NREFADDR": "38", "R_REFADDR": "61", "R_NREFADDR": "53", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 14.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549501.325600, 6403908.552800 ], [ 1549497.550150, 6403911.790400 ], [ 1549488.599950, 6403913.910400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271508", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 9.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549495.671350, 6403901.486400 ], [ 1549501.325600, 6403908.552800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271509", "USERID": "LO-JKP", "ST_NAME": "SLOTTHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 29.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549745.501350, 6403736.423200 ], [ 1549760.487650, 6403761.674400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271509", "USERID": "LO-JKP", "ST_NAME": "SLOTTHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 130.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549760.487650, 6403761.674400 ], [ 1549773.107600, 6403768.775200 ], [ 1549794.000150, 6403771.925600 ], [ 1549806.223900, 6403771.925600 ], [ 1549847.621200, 6403768.775200 ], [ 1549874.427700, 6403767.595200 ], [ 1549888.409150, 6403767.056000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760574.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271509", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "26", "L_NREFADDR": "24", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 5.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549703.919950, 6403834.130400 ], [ 1549709.114300, 6403836.262400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760574.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271509", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "26", "L_NREFADDR": "24", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 48.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549709.114300, 6403836.262400 ], [ 1549754.276900, 6403854.802400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760590.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271510", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "30", "L_NREFADDR": "28", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 37.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549635.170150, 6403808.780000 ], [ 1549670.099800, 6403821.660000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271510", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 45.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549670.099800, 6403821.660000 ], [ 1549661.138750, 6403843.681600 ], [ 1549652.074100, 6403839.340800 ], [ 1549647.702600, 6403850.082400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760590.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271511", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "30", "L_NREFADDR": "28", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 4.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549670.099800, 6403821.660000 ], [ 1549674.526600, 6403823.292000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760590.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271511", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "30", "L_NREFADDR": "28", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 31.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549674.526600, 6403823.292000 ], [ 1549703.919950, 6403834.130400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271511", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 23.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549674.526600, 6403823.292000 ], [ 1549664.644350, 6403844.952000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271512", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 47.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549760.487650, 6403761.674400 ], [ 1549753.539450, 6403766.201600 ], [ 1549734.473200, 6403778.625600 ], [ 1549728.022350, 6403793.287200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271513", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 9.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549728.022350, 6403793.287200 ], [ 1549724.270700, 6403801.813600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271513", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 37.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549724.270700, 6403801.813600 ], [ 1549709.114300, 6403836.262400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271514", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 51.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549754.276900, 6403854.802400 ], [ 1549737.228050, 6403806.618400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271514", "USERID": "LO-JKP", "ST_NAME": "BREDGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 13.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549737.228050, 6403806.618400 ], [ 1549724.270700, 6403801.813600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547503.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271514", "USERID": "LO-JKP", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "25", "R_NREFADDR": "25", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 17.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549774.889100, 6403793.607200 ], [ 1549771.489900, 6403810.460000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271514", "USERID": "LO-JKP", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 40.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549737.228050, 6403806.618400 ], [ 1549769.560700, 6403793.607200 ], [ 1549774.889100, 6403793.607200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547503.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271515", "USERID": "LO-JKP", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "25", "R_NREFADDR": "25", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 14.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549776.080150, 6403777.100000 ], [ 1549775.301400, 6403791.567200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547503.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271515", "USERID": "LO-JKP", "ST_NAME": "BRUNNSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "25", "R_NREFADDR": "25", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 2.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549775.301400, 6403791.567200 ], [ 1549774.889100, 6403793.607200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "SLOTTHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 23.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549888.409150, 6403767.056000 ], [ 1549894.924400, 6403766.804800 ], [ 1549911.882600, 6403767.984800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "SLOTTHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 15.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549911.882600, 6403767.984800 ], [ 1549927.421200, 6403767.822400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760596.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "12", "L_NREFADDR": "6", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 68.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549818.068600, 6403799.888800 ], [ 1549884.091550, 6403818.700000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760596.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "12", "L_NREFADDR": "6", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 7.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549884.091550, 6403818.700000 ], [ 1549891.640000, 6403820.850400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271516", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 58.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549911.882600, 6403767.984800 ], [ 1549908.484450, 6403777.327200 ], [ 1549905.284050, 6403786.126400 ], [ 1549884.091550, 6403818.700000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760579.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271517", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 6.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549891.640000, 6403820.850400 ], [ 1549897.839200, 6403822.604000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271517", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 61.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549936.717550, 6403775.876000 ], [ 1549931.136800, 6403785.640000 ], [ 1549927.257050, 6403792.427200 ], [ 1549897.839200, 6403822.604000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271517", "USERID": "LO-JKP", "ST_NAME": "SLOTTSHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 7.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549982.841250, 6403805.048000 ], [ 1549989.554600, 6403806.848000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271518", "USERID": "LO-JKP", "ST_NAME": "SLOTTSHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 14.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549775.301400, 6403791.567200 ], [ 1549789.273750, 6403792.036800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808271518", "USERID": "LO-JKP", "ST_NAME": "SLOTTSHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 116.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549789.273750, 6403792.036800 ], [ 1549820.418850, 6403786.116800 ], [ 1549862.599800, 6403784.936000 ], [ 1549905.284050, 6403786.126400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 16, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808271518", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 29.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549818.068600, 6403799.888800 ], [ 1549789.273750, 6403792.036800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547461.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280759", "USERID": "LO-JKP", "ST_NAME": "V<>RDTR<54>DSPLAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "7", "R_NREFADDR": "3", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 93.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549635.170150, 6403808.780000 ], [ 1549633.900000, 6403814.330400 ], [ 1549618.609900, 6403847.560000 ], [ 1549614.980050, 6403851.970400 ], [ 1549605.460050, 6403851.850400 ], [ 1549590.180100, 6403883.960800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547461.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280759", "USERID": "LO-JKP", "ST_NAME": "V<>RDTR<54>DSPLAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "7", "R_NREFADDR": "3", "SPEED_CAT": "6", "ZIPCODE": "59330", "SHAPE_LEN": 51.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549590.180100, 6403883.960800 ], [ 1549568.259950, 6403874.780000 ], [ 1549542.790100, 6403864.450400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280759", "USERID": "LO-JKP", "ST_NAME": "V<>RDTR<54>DSPLAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 99.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.330250, 6403958.170400 ], [ 1549562.119900, 6403948.800800 ], [ 1549569.040100, 6403929.018400 ], [ 1549576.364550, 6403927.638400 ], [ 1549583.482500, 6403925.468800 ], [ 1549590.600800, 6403917.357600 ], [ 1549593.767950, 6403909.047200 ], [ 1549596.737350, 6403902.126400 ], [ 1549585.857950, 6403894.605600 ], [ 1549590.180100, 6403883.960800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760476.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280801", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "12", "L_NREFADDR": "10", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 62.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549723.519950, 6403934.620000 ], [ 1549782.972000, 6403954.418400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760476.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280801", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "12", "L_NREFADDR": "10", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 14.200000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549782.972000, 6403954.418400 ], [ 1549796.459950, 6403958.910400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760555.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280803", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "33", "R_NREFADDR": "31", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 37.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549754.276900, 6403854.802400 ], [ 1549789.877500, 6403865.172000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760555.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280803", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "33", "R_NREFADDR": "31", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 8.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549789.877500, 6403865.172000 ], [ 1549798.179850, 6403867.590400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280803", "USERID": "LO-JKP", "ST_NAME": "G<>STA BERNARDS GATA", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 44.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549763.127350, 6403899.236800 ], [ 1549769.602000, 6403885.904800 ], [ 1549772.571400, 6403880.964800 ], [ 1549789.877500, 6403865.172000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280805", "USERID": "LO-JKP", "ST_NAME": "GR<47>NA GR<47>ND", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 42.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549782.972000, 6403954.418400 ], [ 1549793.934000, 6403923.878400 ], [ 1549786.164350, 6403917.663200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280805", "USERID": "LO-JKP", "ST_NAME": "GR<47>NA GR<47>ND", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 29.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549786.164350, 6403917.663200 ], [ 1549763.127350, 6403899.236800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760512.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "TR<54>DG<44>RDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "3", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 16.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549763.127350, 6403899.236800 ], [ 1549754.840050, 6403906.050400 ], [ 1549749.691200, 6403908.812000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760512.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 2, "LOGKOD": "R", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "TR<54>DG<44>RDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "3", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 24.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549749.691200, 6403908.812000 ], [ 1549728.459850, 6403920.200000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "G<>STA BERNARDS GATA", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 49.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549786.477600, 6403917.288000 ], [ 1549786.164350, 6403917.663200 ], [ 1549781.471200, 6403923.288000 ], [ 1549778.501800, 6403931.988800 ], [ 1549753.386150, 6403924.078400 ], [ 1549757.605750, 6403919.492000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "G<>STA BERNARDS GATA", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 7.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549757.605750, 6403919.492000 ], [ 1549762.549850, 6403914.117600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280806", "USERID": "LO-JKP", "ST_NAME": "G<>STA BERNARDS GATA", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 13.300000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549749.691200, 6403908.812000 ], [ 1549757.605750, 6403919.492000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760580.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280807", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "42", "L_NREFADDR": "40", "R_REFADDR": "37", "R_NREFADDR": "35", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 25.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549891.640000, 6403820.850400 ], [ 1549883.651250, 6403844.940000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760580.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280807", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "42", "L_NREFADDR": "40", "R_REFADDR": "37", "R_NREFADDR": "35", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 17.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549883.651250, 6403844.940000 ], [ 1549878.029900, 6403861.890400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280807", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 19.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549883.651250, 6403844.940000 ], [ 1549902.215600, 6403851.322400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760588.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "24", "L_NREFADDR": "14", "R_REFADDR": "23", "R_NREFADDR": "15", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 85.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549771.489900, 6403810.460000 ], [ 1549848.872800, 6403847.815200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760588.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "24", "L_NREFADDR": "14", "R_REFADDR": "23", "R_NREFADDR": "15", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 32.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549848.872800, 6403847.815200 ], [ 1549878.029900, 6403861.890400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 16.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549848.872800, 6403847.815200 ], [ 1549858.013750, 6403836.851200 ], [ 1549859.956250, 6403835.057600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 8.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549859.956250, 6403835.057600 ], [ 1549865.800200, 6403829.660800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280808", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 7.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549859.956250, 6403835.057600 ], [ 1549866.996150, 6403838.471200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760516.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "12", "L_NREFADDR": "2", "R_REFADDR": "13", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 39.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549867.520100, 6403892.960000 ], [ 1549904.353050, 6403905.936000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760516.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "12", "L_NREFADDR": "2", "R_REFADDR": "13", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 26.900000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549904.353050, 6403905.936000 ], [ 1549929.770050, 6403914.890400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760548.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "12", "L_NREFADDR": "2", "R_REFADDR": "13", "R_NREFADDR": "13", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 43.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549878.029900, 6403861.890400 ], [ 1549916.095200, 6403881.850400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760548.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "<22>TERV<52>NDSGATAN", "L_REFADDR": "12", "L_NREFADDR": "2", "R_REFADDR": "13", "R_NREFADDR": "13", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 25.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549916.095200, 6403881.850400 ], [ 1549938.960000, 6403893.840000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280809", "USERID": "LO-JKP", "ST_NAME": "B<>TSMANSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 26.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549904.353050, 6403905.936000 ], [ 1549912.608150, 6403888.475200 ], [ 1549916.095200, 6403881.850400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760517.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280811", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "34", "L_NREFADDR": "24", "R_REFADDR": "29", "R_NREFADDR": "19", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 23.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549848.114000, 6403950.774400 ], [ 1549839.739900, 6403972.810400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280811", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 30.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549848.114000, 6403950.774400 ], [ 1549869.289000, 6403957.700800 ], [ 1549866.484800, 6403965.702400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760517.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280812", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "34", "L_NREFADDR": "24", "R_REFADDR": "29", "R_NREFADDR": "19", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 36.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549867.520100, 6403892.960000 ], [ 1549856.605700, 6403927.937600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760517.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280812", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "34", "L_NREFADDR": "24", "R_REFADDR": "29", "R_NREFADDR": "19", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 24.400000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549856.605700, 6403927.937600 ], [ 1549855.749950, 6403930.680000 ], [ 1549848.114000, 6403950.774400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280812", "USERID": "LO-JKP", "ST_NAME": "STR<54>MSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 22.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549856.605700, 6403927.937600 ], [ 1549842.391850, 6403922.888000 ], [ 1549839.991550, 6403930.109600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760453.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280813", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 44.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549839.739900, 6403972.810400 ], [ 1549882.122450, 6403986.464000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760453.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280814", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 4.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549882.122450, 6403986.464000 ], [ 1549885.859750, 6403988.054400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760453.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808280814", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "5", "R_NREFADDR": "1", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 15.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549885.859750, 6403988.054400 ], [ 1549900.829950, 6403992.491200 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808280814", "USERID": "LO-JKP", "ST_NAME": "NYGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 30.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549885.859750, 6403988.054400 ], [ 1549892.433450, 6403972.732800 ], [ 1549900.598950, 6403962.172000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "S<>DRA VARVSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 43.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549936.717550, 6403775.876000 ], [ 1549969.438000, 6403803.858400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "S<>DRA VARVSGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59331", "SHAPE_LEN": 13.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549969.438000, 6403803.858400 ], [ 1549982.841250, 6403805.048000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760579.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 37.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549897.839200, 6403822.604000 ], [ 1549934.253900, 6403832.906400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760579.000000, "RP_TYPE": 14, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "NORRA J<>RNV<4E>GSGATAN", "L_REFADDR": "4", "L_NREFADDR": "2", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "7", "ZIPCODE": "59330", "SHAPE_LEN": 29.500000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549934.253900, 6403832.906400 ], [ 1549957.490050, 6403839.480000 ], [ 1549960.410100, 6403843.980000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 19, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808281227", "USERID": "LO-JKP", "ST_NAME": "SLOTTSHOLMSLEDEN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59330", "SHAPE_LEN": 45.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549969.438000, 6403803.858400 ], [ 1549962.209450, 6403808.998400 ], [ 1549954.459400, 6403814.508800 ], [ 1549934.253900, 6403832.906400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547462.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808290805", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "44", "L_NREFADDR": "38", "R_REFADDR": "61", "R_NREFADDR": "53", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 23.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549546.809850, 6403827.740000 ], [ 1549537.632500, 6403849.605600 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 80547462.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808290805", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "44", "L_NREFADDR": "38", "R_REFADDR": "61", "R_NREFADDR": "53", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 70.100000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549537.632500, 6403849.605600 ], [ 1549533.320150, 6403859.880000 ], [ 1549518.660050, 6403889.780000 ], [ 1549507.790100, 6403903.010400 ], [ 1549501.325600, 6403908.552800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808290805", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 46.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549537.632500, 6403849.605600 ], [ 1549561.402400, 6403858.662400 ], [ 1549569.328850, 6403839.652000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760609.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808290829", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "46", "L_NREFADDR": "46", "R_REFADDR": "65", "R_NREFADDR": "63", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 26.800000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549566.450100, 6403780.090400 ], [ 1549555.974950, 6403804.818400 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760609.000000, "RP_TYPE": 12, "RP_FUNC": 1, "DIRECTION": 0, "LOGKOD": "R", "CHANGED": "0808290829", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "46", "L_NREFADDR": "46", "R_REFADDR": "65", "R_NREFADDR": "63", "SPEED_CAT": "7", "ZIPCODE": "59333", "SHAPE_LEN": 24.700000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.974950, 6403804.818400 ], [ 1549546.809850, 6403827.740000 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 0.000000, "RP_TYPE": 18, "RP_FUNC": 0, "DIRECTION": 0, "LOGKOD": "D", "CHANGED": "0808290829", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "", "L_NREFADDR": "", "R_REFADDR": "", "R_NREFADDR": "", "SPEED_CAT": "", "ZIPCODE": "59333", "SHAPE_LEN": 37.600000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549555.974950, 6403804.818400 ], [ 1549577.560500, 6403813.319200 ], [ 1549572.603450, 6403826.820800 ] ] } }
,
{ "type": "Feature", "properties": { "LINK_ID": 30760474.000000, "RP_TYPE": 12, "RP_FUNC": 0, "DIRECTION": 1, "LOGKOD": "R", "CHANGED": "0808290830", "USERID": "LO-JKP", "ST_NAME": "<22>STRA KYRKOGATAN", "L_REFADDR": "36", "L_NREFADDR": "32", "R_REFADDR": "51", "R_NREFADDR": "49", "SPEED_CAT": "6", "ZIPCODE": "59333", "SHAPE_LEN": 58.000000 }, "geometry": { "type": "LineString", "coordinates": [ [ 1549496.649950, 6403937.400000 ], [ 1549483.100050, 6403973.990400 ], [ 1549475.242550, 6403991.259200 ] ] } }
]
}

View File

@@ -30,14 +30,13 @@
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),
OpenLayers.Handler.Path),
polygon: new OpenLayers.Control.DrawFeature(polygonLayer,
OpenLayers.Handler.Polygon, options)
OpenLayers.Handler.Polygon)
};
for(var key in drawControls) {
@@ -93,11 +92,14 @@
</ul>
<div id="docs">
<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>
<p>With the point drawing control active, click on the map to add a point. You can drag the point
before letting the mouse up if you want to adjust the position.</p>
<p>With the line drawing control active, click on the map to add the points that make up your line.
Double-click to finish drawing.</p>
<p>With the polygon drawing control active, click on the map to add the points that make up your
polygon. Double-click to finish drawing.</p>
<p>Hold down the shift key while drawing to activate freehand mode. While drawing lines or polygons
in freehand mode, hold the mouse down and a point will be added with every mouse movement.<p>
</div>
</body>
</html>

View File

@@ -1,6 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Custom Editing Toolbar</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">

99
examples/filter.html Normal file
View File

@@ -0,0 +1,99 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style>
#in {
width: 90%;
height: 250px;
}
#out0, #out1 {
height: 100px;
width: 90%;
overflow: auto;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var filter_1_0 = new OpenLayers.Format.Filter({version: "1.0.0"});
var filter_1_1 = new OpenLayers.Format.Filter({version: "1.1.0"});
var xml = new OpenLayers.Format.XML();
var filter;
function write() {
var code = input.value;
try {
eval(code);
} catch(err) {
out0.value = err.message;
out1.value = "";
}
try {
out0.value = xml.write(filter_1_0.write(filter));
} catch(err) {
out0.value = err.message;
if(err.lineNumber != undefined) {
out0.value += " (line " + err.lineNumber + " " +
err.fileName + ")";
}
}
try {
out1.value = xml.write(filter_1_1.write(filter));
} catch(err) {
out1.value = err.message;
if(err.lineNumber != undefined) {
out1.value += " (line " + err.lineNumber + " " +
err.fileName + ")";
}
}
}
var input, out0;
window.onload = function() {
input = document.getElementById("in");
out0 = document.getElementById("out0");
out1 = document.getElementById("out1");
out0.value = "";
out1.value = "";
document.getElementById("write").onclick = write;
};
</script>
</head>
<body>
<h1 id="title">Filter Encoding</h1>
<p id="shortdesc">
Using the filter format write out filter objects.
</p>
<textarea id="in">
filter = new OpenLayers.Filter.Logical({
type: OpenLayers.Filter.Logical.AND,
filters: [
new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.LIKE,
property: "person",
value: "me"
}),
new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.NOT_EQUAL_TO,
property: "mean",
value: "yes"
}),
new OpenLayers.Filter.Spatial({
type: OpenLayers.Filter.Spatial.BBOX,
value: new OpenLayers.Bounds(-180, -90, 180, 90),
projection: "EPSG:4326"
})
]
});
</textarea>
<button id="write">write</button><br />
Filter Encoding 1.0
<textarea id="out0"></textarea><br />
Filter Encoding 1.1
<textarea id="out1"></textarea><br />
<p id="docs">
</p>
</body>
</html>

View File

@@ -48,7 +48,7 @@
// Create a GML layer with GeoRSS format and a style map.
markerLayer = new OpenLayers.Layer.GML("Some images from Flickr",
"xml/georss-flickr.xml", {
"xml/georss-flickr.xml", {
format: OpenLayers.Format.GeoRSS,
formatOptions: {
// adds the thumbnail attribute to the feature
@@ -61,8 +61,8 @@
return feature;
}
},
// Giving the style map keys for "default" and "select"
// rendering intent, to make the image larger when selected
// Giving the style map keys for "default" and "select"
// rendering intent, to make the image larger when selected
styleMap: new OpenLayers.StyleMap({
"default": style,
"select": new OpenLayers.Style({pointRadius: 35})

View File

@@ -0,0 +1,80 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<title>WFS: GetFeature Example (GeoServer)</title>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, layer, select, hover, control;
function init(){
OpenLayers.ProxyHost= "proxy.cgi?url=";
map = new OpenLayers.Map('map', {
controls: [
new OpenLayers.Control.PanZoom(),
new OpenLayers.Control.Permalink(),
new OpenLayers.Control.Navigation()
]
});
layer = new OpenLayers.Layer.WMS(
"States WMS/WFS",
"http://demo.opengeo.org/geoserver/ows",
{layers: 'topp:states', format: 'image/gif'}
);
select = new OpenLayers.Layer.Vector("Selection", {styleMap:
new OpenLayers.Style(OpenLayers.Feature.Vector.style["select"])
});
hover = new OpenLayers.Layer.Vector("Hover");
map.addLayers([layer, hover, select]);
control = new OpenLayers.Control.GetFeature({
protocol: OpenLayers.Protocol.WFS.fromWMSLayer(layer),
box: true,
hover: true,
multipleKey: "shiftKey",
toggleKey: "ctrlKey"
});
control.events.register("featureselected", this, function(e) {
select.addFeatures([e.feature]);
});
control.events.register("featureunselected", this, function(e) {
select.removeFeatures([e.feature]);
});
control.events.register("hoverfeature", this, function(e) {
hover.addFeatures([e.feature]);
});
control.events.register("outfeature", this, function(e) {
hover.removeFeatures([e.feature]);
});
map.addControl(control);
control.activate();
map.setCenter(new OpenLayers.Bounds(-140.444336,25.115234,-44.438477,50.580078).getCenterLonLat(), 3);
}
</script>
</head>
<body onload="init()">
<h1 id="title">WFS GetFeature Example (GeoServer)</h1>
<div id="tags">
</div>
<p id="shortdesc">
Shows how to use the GetFeature control to select features from a
WMS layer. Click or drag a box to select features, use the Shift key to
add features to the selection, use the Ctrl key to toggle a feature's
selected status. Note that this control also has a hover option, which is
enabled in this example. This gives you a visual feedback by loading the
feature underneath the mouse pointer from the WFS, but causes a lot of
GetFeature requests to be issued.
</p>
<div id="map" class="smallmap"></div>
<div id="docs"></div>
</body>
</html>
</div>

View File

@@ -0,0 +1,217 @@
<html>
<head>
<title>OpenLayers WMS Feature Info Example (GeoServer)</title>
<script src="../lib/OpenLayers.js"></script>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
ul, li {
padding-left: 0px;
margin-left: 0px;
list-style: none;
}
#info {
position: absolute;
top: 6em;
left: 550px;
}
#info table td {
border:1px solid #ddd;
border-collapse: collapse;
margin: 0;
padding: 0;
font-size: 90%;
padding: .2em .1em;
background:#fff;
}
#info table th{
padding:.2em .2em;
text-transform: uppercase;
font-weight: bold;
background: #eee;
}
tr.odd td {
background:#eee;
}
table.featureInfo caption {
text-align:left;
font-size:100%;
font-weight:bold;
text-transform:uppercase;
padding:.2em .2em;
}
</style>
<script defer="defer" type="text/javascript">
OpenLayers.ProxyHost = "proxy.cgi?url=";
var map, infocontrols, water, highlightlayer;
function load() {
map = new OpenLayers.Map('map', {
maxExtent: new OpenLayers.Bounds(143.834,-43.648,148.479,-39.573)
});
var political = new OpenLayers.Layer.WMS("State Boundaries",
"http://demo.opengeo.org/geoserver/wms",
{'layers': 'topp:tasmania_state_boundaries', transparent: true, format: 'image/gif'},
{isBaseLayer: true}
);
var roads = new OpenLayers.Layer.WMS("Roads",
"http://demo.opengeo.org/geoserver/wms",
{'layers': 'topp:tasmania_roads', transparent: true, format: 'image/gif'},
{isBaseLayer: false}
);
var cities = new OpenLayers.Layer.WMS("Cities",
"http://demo.opengeo.org/geoserver/wms",
{'layers': 'topp:tasmania_cities', transparent: true, format: 'image/gif'},
{isBaseLayer: false}
);
water = new OpenLayers.Layer.WMS("Bodies of Water",
"http://demo.opengeo.org/geoserver/wms",
{'layers': 'topp:tasmania_water_bodies', transparent: true, format: 'image/gif'},
{isBaseLayer: false}
);
highlightLayer = new OpenLayers.Layer.Vector("Highlighted Features", {
displayInLayerSwitcher: false,
isBaseLayer: false
}
);
infoControls = {
click: new OpenLayers.Control.WMSGetFeatureInfo({
url: 'http://demo.opengeo.org/geoserver/wms',
title: 'Identify features by clicking',
layers: [water],
queryVisible: true
}),
hover: new OpenLayers.Control.WMSGetFeatureInfo({
url: 'http://demo.opengeo.org/geoserver/wms',
title: 'Identify features by clicking',
layers: [water],
hover: true,
// defining a custom format options here
formatOptions: {
typeName: 'water_bodies',
featureNS: 'http://www.openplans.org/topp'
},
queryVisible: true
})
}
map.addLayers([political, roads, cities, water, highlightLayer]);
for (var i in infoControls) {
infoControls[i].events.register("getfeatureinfo", this, showInfo);
map.addControl(infoControls[i]);
}
map.addControl(new OpenLayers.Control.LayerSwitcher());
infoControls.click.activate();
map.zoomToMaxExtent();
}
function showInfo(evt) {
if (evt.features && evt.features.length) {
highlightLayer.destroyFeatures();
highlightLayer.addFeatures(evt.features);
highlightLayer.redraw();
} else {
$('responseText').innerHTML = evt.text;
}
}
function toggleControl(element) {
for (var key in infoControls) {
var control = infoControls[key];
if (element.value == key && element.checked) {
control.activate();
} else {
control.deactivate();
}
}
}
function toggleFormat(element) {
for (var key in infoControls) {
var control = infoControls[key];
control.infoFormat = element.value;
}
}
function toggleLayers(element) {
for (var key in infoControls) {
var control = infoControls[key];
if (element.value == 'Specified') {
control.layers = [water];
} else {
control.layers = null;
}
}
}
// function toggle(key
</script>
</head>
<body onload="load()">
<h1 id="title">Feature Info Example</h1>
<div id="tags"></div>
<p id="shortdesc">
Demonstrates the WMSGetFeatureInfo control for fetching information about a position from WMS (via GetFeatureInfo request).
</p>
<div id="info">
<h1>Tasmania</h1>
<p>Click on the map to get feature info.</p>
<div id="responseText">
</div>
</div>
<div id="map" class="smallmap"></div>
<div id="docs">
</div>
<ul id="control">
<li>
<input type="radio" name="controlType" value="click" id="click"
onclick="toggleControl(this);" checked="checked" />
<label for="click">Click</label>
</li>
<li>
<input type="radio" name="controlType" value="hover" id="hover"
onclick="toggleControl(this);" />
<label for="hover">Hover</label>
</li>
</ul>
<ul id="format">
<li>
<input type="radio" name="formatType" value="text/html" id="html"
onclick="toggleFormat(this);" checked="checked" />
<label for="html">Show HTML Description</label>
</li>
<li>
<input type="radio" name="formatType" value="application/vnd.ogc.gml" id="highlight"
onclick="toggleFormat(this);" />
<label for="highlight">Highlight Feature on Map</label>
</li>
</ul>
<ul id="layers">
<li>
<input type="radio" name="layerSelection" value="Specified" id="Specified"
onclick="toggleLayers(this);" checked="checked" />
<label for="Specified">Get water body info</label>
</li>
<li>
<input type="radio" name="layerSelection" value="Auto" id="Auto"
onclick="toggleLayers(this);" />
<label for="Auto">Get info for visible layers</label>
</li>
</ul>
</body>
</html>

View File

@@ -2,6 +2,7 @@
<head>
<title>OpenLayers Google Layer Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="../theme/default/google.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<!-- this gmaps key generated for http://openlayers.org/dev/ -->
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
@@ -18,15 +19,16 @@
{type: G_PHYSICAL_MAP}
);
var gmap = new OpenLayers.Layer.Google(
"Google Streets" // the default
"Google Streets", // the default
{numZoomLevels: 20}
);
var ghyb = new OpenLayers.Layer.Google(
"Google Hybrid",
{type: G_HYBRID_MAP}
{type: G_HYBRID_MAP, numZoomLevels: 20}
);
var gsat = new OpenLayers.Layer.Google(
"Google Satellite",
{type: G_SATELLITE_MAP}
{type: G_SATELLITE_MAP, numZoomLevels: 20}
);
@@ -48,10 +50,14 @@
<div id="map" class="smallmap"></div>
<div id="docs">
<p>
For best performance, you must be using a version of the Google Maps
API which is v2.93 or higher. In order to use this version of the API,
it is best to simply set your application to use the string "v=2" in
the request, rather than tying your application to an explicit version.
the request, rather than tying your application to an explicit version.</p>
<p>
In order to position the Google attribution div in the default ocation,
you must include the extra theme/default/google.css stylesheet.</p>
</div>
</body>
</html>

View File

@@ -5,13 +5,18 @@
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
// user custom graphicname
OpenLayers.Renderer.symbol.lightning = [0,0, 4,2, 6,0, 10,5, 6,3, 4,5, 0,0];
OpenLayers.Renderer.symbol.rectangle = [0,0, 10,0, 10,4, 0,4, 0,0];
var map;
function init() {
map = new OpenLayers.Map('map');
// list of well-known graphic names
var graphics = ["star", "cross", "x", "square", "triangle", "circle"];
var graphics = ["star", "cross", "x", "square", "triangle", "circle", "lightning", "rectangle"];
// Create one feature for each well known graphic.
// Give features a type attribute with the graphic name.

View File

@@ -0,0 +1,80 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SelectFeature Control for Select and Highlight</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
#controlToggle li {
list-style: none;
}
</style>
<script src="../lib/Firebug/firebug.js"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, controls;
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
function init(){
map = new OpenLayers.Map('map');
var vectors = new OpenLayers.Layer.Vector("vector", {isBaseLayer: true});
map.addLayers([vectors]);
var feature = new OpenLayers.Feature.Vector(
OpenLayers.Geometry.fromWKT(
"POLYGON((28.828125 0.3515625, 132.1875 -13.0078125, -1.40625 -59.4140625, 28.828125 0.3515625))"
)
);
vectors.addFeatures([feature]);
var feature2 = new OpenLayers.Feature.Vector(
OpenLayers.Geometry.fromWKT(
"POLYGON((-120.828125 -50.3515625, -80.1875 -80.0078125, -40.40625 -20.4140625, -120.828125 -50.3515625))"
)
);
vectors.addFeatures([feature2]);
var report = function(e) {
OpenLayers.Console.log(e.type, e.feature.id);
};
var highlightCtrl = new OpenLayers.Control.SelectFeature(vectors, {
hover: true,
highlightOnly: true,
renderIntent: "temporary",
eventListeners: {
beforefeaturehighlighted: report,
featurehighlighted: report,
featureunhighlighted: report
}
});
var selectCtrl = new OpenLayers.Control.SelectFeature(vectors,
{clickout: true}
);
map.addControl(highlightCtrl);
map.addControl(selectCtrl);
highlightCtrl.activate();
selectCtrl.activate();
map.addControl(new OpenLayers.Control.EditingToolbar(vectors));
map.setCenter(new OpenLayers.LonLat(0, 0), 1);
}
</script>
</head>
<body onload="init()">
<h1 id="title">OpenLayers Select and Highlight Feature Example</h1>
<p id="shortdesc">
Select features on click, highlight features on hover.
</p>
<div id="map" class="smallmap"></div>
<p>Select features by clicking on them. Just highlight features by hovering over
them.</p>
</body>
</html>

View File

@@ -8,6 +8,7 @@
width: 512px;
}
</style>
<script src="../lib/Firebug/firebug.js"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map;
@@ -17,11 +18,21 @@
var options = {numZoomLevels: 3};
var graphic = new OpenLayers.Layer.Image(
'City Lights',
'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif',
new OpenLayers.Bounds(-180, -88.759, 180, 88.759),
new OpenLayers.Size(580, 288),
options);
'City Lights',
'http://earthtrends.wri.org/images/maps/4_m_citylights_lg.gif',
new OpenLayers.Bounds(-180, -88.759, 180, 88.759),
new OpenLayers.Size(580, 288),
options
);
graphic.events.on({
loadstart: function() {
OpenLayers.Console.log("loadstart");
},
loadend: function() {
OpenLayers.Console.log("loadend");
}
});
var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://t1.hypercube.telascience.org/cgi-bin/landsat7",

View File

@@ -19,7 +19,8 @@
format: OpenLayers.Format.KML,
formatOptions: {
extractStyles: true,
extractAttributes: true
extractAttributes: true,
maxDepth: 2
}
}));
map.zoomToExtent(new OpenLayers.Bounds(-112.306698,36.017792,-112.03204,36.18087));

View File

@@ -262,6 +262,14 @@
-112.2626894973474,36.10149062823369,630 </coordinates>
</LineString>
</Placemark>
<Placemark>
<name>Blue Icon</name>
<description>Just another blue icon.</description>
<styleUrl>kml/styles.kml#blueIcons</styleUrl>
<Point>
<coordinates>-112.292238941097,36.09520916122063,630</coordinates>
</Point>
</Placemark>
</Folder>
</Document>
</kml>

21
examples/kml/styles.kml Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file contains styles referenced by other KML files in this project.
http://kml-samples.googlecode.com/svn/trunk/kml/Style/styles.kml
-->
<kml xmlns="http://earth.google.com/kml/2.1">
<Document id="globalStyles">
<Style id="blueIcons">
<IconStyle>
<color>ffff0000</color>
<Icon>
<href>http://maps.google.com/mapfiles/kml/shapes/sunny.png</href>
</Icon>
</IconStyle>
</Style>
</Document>
</kml>

42
examples/late-render.html Normal file
View File

@@ -0,0 +1,42 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Late Rendering Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, layer;
function init(){
map = new OpenLayers.Map();
layer = new OpenLayers.Layer.WMS(
"OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'}
);
map.addLayer(layer);
map.render("container_id");
map.zoomTo(2);
}
</script>
</head>
<body onload="init()">
<h1 id="title">Late Rendering</h1>
<div id="tags"></div>
<p id="shortdesc">
Demonstrates how a map can be rendered to an empty container after
construction by calling the render method.
</p>
<div id="container_id" class="smallmap"></div>
<div id="docs">
In cases where you need to create a map first and render it to some
container later, call the map constructor without a "div" argument.
In this case, you can provide the options object as the first argument.
To render your map to some container after construction, call the map's
render method with the container id.
</div>
</body>
</html>

View File

@@ -21,9 +21,9 @@
<script type="text/javascript">
var map, layer;
var url = "http://demo01.dmsolutions.ca/mapguide/mapagent/mapagent.fcgi?USERNAME=Anonymous&";
var url = "http://data.mapguide.com/mapguide/mapagent/mapagent.fcgi?USERNAME=Anonymous&";
//you can use this URL when MapGuide OS is installed locally
//var url = "/mapguide/mapagent/mapagent.fcgi";
//var url = "/mapguide/mapagent/mapagent.fcgi?USERNAME=Anonymous&";
//Adjust the scale assumptions for MapGuide layers
//Tiled layers MUST use a DPI value of 96, untiled layers can use a
@@ -39,19 +39,17 @@
//tiled version
function initTiled(){
var extent = new OpenLayers.Bounds(-3631568.75,-1293815.5,4491139.5833333321,4937122);
var tempScales = [50000000,23207944.16806,10772173.45016,5000000,2320794.41681,1077217.34502,500000,232079.44168,107721.7345,50000];
var extent = new OpenLayers.Bounds(-87.764987,43.691398,-87.695522,43.797520);
var tempScales = [100000,51794.74679,26826.95795,13894.95494,7196.85673,3727.59372,1930.69773,1000];
var mapOptions = {
maxExtent: extent,
scales: tempScales,
units: 'm',
projection: 'EPSG:42304'
scales: tempScales
};
map = new OpenLayers.Map( 'map', mapOptions );
var params = {
mapdefinition: 'Library://Samples/Gmap/Maps/gmapTiled.MapDefinition',
basemaplayergroupname: "BaseLayerGroup"
mapdefinition: 'Library://Samples/Sheboygan/MapsTiled/Sheboygan.MapDefinition',
basemaplayergroupname: "Base Layer Group"
}
var options = {
singleTile: false
@@ -59,6 +57,18 @@
var layer = new OpenLayers.Layer.MapGuide( "MapGuide OS tiled layer", url, params, options );
map.addLayer(layer);
/**
The following example shows how to access an MG tile cache directly
through HTTP bypassing the MG mapagent. This depends on having a
pre-populated tile cache
*/
/*
options.useHttpTile = true;
var cacheUrl = "http://localhost:8008/sheboygan";
var httpLayer = new OpenLayers.Layer.MapGuide( "MapGuide HTTP cache tiled layer", cacheUrl, params, options );
map.addLayer(httpLayer);
*/
map.zoomToMaxExtent();
}
@@ -73,52 +83,50 @@
map = new OpenLayers.Map( 'map2', mapOptions );
var options = {
isBaseLayer: true,
buffer: 1,
useOverlay: false,
useAsyncOverlay: false,
singleTile: true
};
var params = {
mapdefinition: 'Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition'
};
/*
The MapGuide layer can also be created using mapname and session as follows provided there
is some wrapper code to obtain a valid session id and mapname
The MapGuide layer can also be created using mapname and session as follows provided there
is some wrapper code to obtain a valid session id and mapname */
/*
var params = {
mapname: 'Sheboygan47b3560bf1071',
session: '043bb716-0000-1000-8000-0017a4e6ff5d_en_7F0000010AFC0AFB0AFA'
mapname: 'Sheboygan49ad9e20e7171',
session: '7405c17a-0000-1000-8000-0017a4e6ff5d_en_7F0000010AFC0AFB0AFA'
};
*/
var layer = new OpenLayers.Layer.MapGuide( "MapGuide OS untiled baselayer", url, params, options );
map.addLayer(layer);
//this is how to set up the layer for transparent overlays. Requires a valid session ID
//and mapName stored in that session.
//If the mapagent URL is on a different server than this OL layer, the OpenLayers proxy script
//must be used since this layer must perform an additional AJAX request before requesting the
//map image
/*
/*
var options = {
isBaseLayer: false,
transparent: true,
useOverlay: true,
useAsyncOverlay: false,
buffer: 1,
singleTile: true
};
var params = {
mapName: 'Sheboygan',
session: '0b8cb80e-0000-1000-8003-0017a4e6ff5d_en_C0A802AD0AFC0AFB0AFA',
mapName: 'Sheboygan',
session: '0b8cb80e-0000-1000-8003-0017a4e6ff5d_en_C0A802AD0AFC0AFB0AFA',
version: '2.0.0',
selectioncolor: '0xFF0000',
mapName: 'Sheboygan49aeaa04487af',
session: '208fd92c-0000-1000-8000-0017a4e6ff5d_en_7F0000010AFC0AFB0AFA',
selectioncolor: '0xFF000000',
behavior: 7
};
layer = new OpenLayers.Layer.MapGuide( "MapGuide OS Overlay layer", url, params, options );
map.addLayer(layer);
*/
map.zoomToMaxExtent();
*/
map.addControl(new OpenLayers.Control.LayerSwitcher({'div':OpenLayers.Util.getElement('layerswitcher')}));
map.zoomToMaxExtent();
}
</script>
</head>
@@ -133,7 +141,10 @@
</p>
<p>If prompted for a password, username is Anonymous and an empty password</p>
<div id="map" class="smallmap"></div>
<div id="map2"></div>
<div id="map2">
<div id="layerswitcher"></div>
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Vector Graphics with Shadows</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">

View File

@@ -32,7 +32,7 @@
map.addControl(new OpenLayers.Control.MousePosition());
// style the sketch fancy
sketchSymbolizers = {
var sketchSymbolizers = {
"Point": {
pointRadius: 4,
graphicName: "square",
@@ -58,23 +58,26 @@
};
var style = new OpenLayers.Style();
style.addRules([
new OpenLayers.Rule({symbolizer: this.sketchSymbolizers})
new OpenLayers.Rule({symbolizer: sketchSymbolizers})
]);
var styleMap = new OpenLayers.StyleMap({"default": style});
var options = {
handlerOptions: {
style: "default", // this forces default render intent
layerOptions: {styleMap: styleMap},
persist: true
}
};
measureControls = {
line: new OpenLayers.Control.Measure(
OpenLayers.Handler.Path, options
OpenLayers.Handler.Path, {
persist: true,
handlerOptions: {
layerOptions: {styleMap: styleMap}
}
}
),
polygon: new OpenLayers.Control.Measure(
OpenLayers.Handler.Polygon, options
OpenLayers.Handler.Polygon, {
persist: true,
handlerOptions: {
layerOptions: {styleMap: styleMap}
}
}
)
};
@@ -92,31 +95,6 @@
document.getElementById('noneToggle').checked = true;
}
function calcVincenty(geometry) {
/**
* Note: this function assumes geographic coordinates and
* will fail otherwise. OpenLayers.Util.distVincenty takes
* two objects representing points with geographic coordinates
* and returns the geodesic distance between them (shortest
* distance between the two points on an ellipsoid) in *kilometers*.
*
* It is important to realize that the segments drawn on the map
* are *not* geodesics (or "great circle" segments). This means
* that in general, the measure returned by this function
* will not represent the length of segments drawn on the map.
*/
var dist = 0;
for (var i = 1; i < geometry.components.length; i++) {
var first = geometry.components[i-1];
var second = geometry.components[i];
dist += OpenLayers.Util.distVincenty(
{lon: first.x, lat: first.y},
{lon: second.x, lat: second.y}
);
}
return dist;
}
function handleMeasurements(event) {
var geometry = event.geometry;
@@ -127,10 +105,6 @@
var out = "";
if(order == 1) {
out += "measure: " + measure.toFixed(3) + " " + units;
if (map.getProjection() == "EPSG:4326") {
out += "<br /> Great Circle Distance: " +
calcVincenty(geometry).toFixed(3) + " km *";
}
} else {
out += "measure: " + measure.toFixed(3) + " " + units + "<sup>2</" + "sup>";
}
@@ -147,6 +121,13 @@
}
}
}
function toggleGeodesic(element) {
for(key in measureControls) {
var control = measureControls[key];
control.geodesic = element.checked;
}
}
</script>
</head>
<body onload="init()">
@@ -172,13 +153,17 @@
<input type="radio" name="type" value="polygon" id="polygonToggle" onclick="toggleControl(this);" />
<label for="polygonToggle">measure area</label>
</li>
<li>
<input type="checkbox" name="geodesic" id="geodesicToggle" onclick="toggleGeodesic(this);" />
<label for="geodesicToggle">use geodesic measures</label>
</li>
</ul>
<p>* Note that the geometries drawn are planar geometries and the
metrics returned by the measure control are planar measures. The
"great circle" distance does not necessarily represent the length
of the segments drawn on the map. Instead, it is a geodesic metric that
represents the cumulative shortest path between all vertices in the
geometry were they projected onto a sphere.</p>
<p>Note that the geometries drawn are planar geometries and the
metrics returned by the measure control are planar measures by
default. If your map is in a geographic projection or you have the
appropriate projection definitions to transform your geometries into
geographic coordinates, you can set the "geodesic" property of the control
to true to calculate geodesic measures instead of planar measures.</p>
</div>
</body>
</html>

View File

@@ -30,12 +30,16 @@
map.addControl(new OpenLayers.Control.MousePosition());
function report(event) {
OpenLayers.Console.log(event.type, event.feature.id);
OpenLayers.Console.log(event.type, event.feature ? event.feature.id : event.components);
}
vectors.events.on({
"beforefeaturemodified": report,
"featuremodified": report,
"afterfeaturemodified": report
"afterfeaturemodified": report,
"vertexmodified": report,
"sketchmodified": report,
"sketchstarted": report,
"sketchcomplete": report
});
controls = {
point: new OpenLayers.Control.DrawFeature(vectors,
@@ -68,14 +72,16 @@
var resize = document.getElementById("resize").checked;
if(resize) {
controls.modify.mode |= OpenLayers.Control.ModifyFeature.RESIZE;
var keepAspectRatio = document.getElementById("keepAspectRatio").checked;
if (keepAspectRatio) {
controls.modify.mode &= ~OpenLayers.Control.ModifyFeature.RESHAPE;
}
}
var drag = document.getElementById("drag").checked;
if(drag) {
controls.modify.mode |= OpenLayers.Control.ModifyFeature.DRAG;
}
// disable reshape mode if at least one of modes rotate, resize,
// drag is enabled
if (rotate || resize || drag) {
if (rotate || drag) {
controls.modify.mode &= ~OpenLayers.Control.ModifyFeature.RESHAPE;
}
var sides = parseInt(document.getElementById("sides").value);
@@ -99,7 +105,7 @@
</script>
</head>
<body onload="init()">
<h3 id="title">OpenLayers Modify Feature Example</h3>
<h1 id="title">OpenLayers Modify Feature Example</h1>
<div id="shortdesc">A demonstration of the ModifyFeature control for editing vector features.</div>
<div id="map" class="smallmap"></div>
<div id="controls">
@@ -149,6 +155,9 @@
<input id="resize" type="checkbox"
name="resize" onchange="update()" />
<label for="resize">allow resizing</label>
(<input id="keepAspectRatio" type="checkbox"
name="keepAspectRatio" onchange="update()" checked="checked" />
<label for="keepAspectRatio">keep aspect ratio</label>)
</li>
<li>
<input id="drag" type="checkbox"

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Tiles from Multiple Servers</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>

View File

@@ -0,0 +1,78 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>A navToolbar with an alwaysZoom ZoomBox</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<!-- Override the position of the toolbar to make it fit in a small map -->
<style type='text/css'>
.olControlNavToolbar div {
top: 150px;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
function init() {
//Creation of a custom panel with a ZoomBox control with the alwaysZoom option sets to true
OpenLayers.Control.CustomNavToolbar = OpenLayers.Class(OpenLayers.Control.Panel, {
/**
* Constructor: OpenLayers.Control.NavToolbar
* Add our two mousedefaults controls.
*
* Parameters:
* options - {Object} An optional object whose properties will be used
* to extend the control.
*/
initialize: function(options) {
OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]);
this.addControls([
new OpenLayers.Control.Navigation(),
//Here it come
new OpenLayers.Control.ZoomBox({alwaysZoom:true})
]);
// To make the custom navtoolbar use the regular navtoolbar style
this.displayClass = 'olControlNavToolbar'
},
/**
* Method: draw
* calls the default draw, and then activates mouse defaults.
*/
draw: function() {
var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments);
this.activateControl(this.controls[0]);
return div;
},
});
var map;
map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS(
"OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'}
);
map.addLayers([wms]);
map.zoomToMaxExtent();
var panel = new OpenLayers.Control.CustomNavToolbar();
map.addControl(panel);
}
</script>
</head>
<body onload="init()">
<h1 id="title">A navToolbar with an alwaysZoom ZoomBox</h1>
<p id="shortdesc">
Demo of a custom NavToolbar which uses a zoomBox tool that always zoom in even when the zoom box is too big.
</p>
<div id="map" class="smallmap"> </div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Custom Navigation Toolbar</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">

View File

@@ -3,6 +3,11 @@
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<title>NavToolbar Demo</title>
<style type='text/css'>
#map {
height: 512px;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var lon = 5;

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Single Tile</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: OpenMNND</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
@@ -109,6 +110,7 @@
</script>
</head>
<body onload="init()">
<h1 id="title">OpenMNND WFS</h1>
<p id="shortdesc">This example shows the use of a WFS service rendered using the OpenLayers vector library.</p>
<div id="map" class="smallmap"></div>
<div id="docs">
@@ -116,7 +118,7 @@
This is an example that shows rendering a WFS service using OpenLayer vectors in the browser. The OpenLayers code will download the GML
from the WFS service for each layer, parse it and create features using the OL vector library to draw the features on the map. For
more information on the vector library, please visit <a href="http://trac.openlayers.org/wiki/Documentation/VectorSupport">vector support wiki</a>.
In this example there are 4 layers shown on the map. The base layer and parcel layer are created from a WMS serivce using the OpenLayers.Layer.WMS object.
In this example there are 4 layers shown on the map. The base layer and parcel layer are created from a WMS service using the OpenLayers.Layer.WMS object.
The streams, roads, and plat layers are drawn from a WFS service using the OpenLayers.Layer.WFS object.
</p>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Z-Ordering and Y-Ordering of Vector Features</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
@@ -109,13 +110,15 @@
var layer = new OpenLayers.Layer.Vector(
"Drawing Order",
{
// Note there's no z-index set, and yOrdering is left
// to its default.
// The zIndex is taken from the zIndex attribute of the features
styleMap: new OpenLayers.StyleMap({
graphicZIndex: "${zIndex}",
externalGraphic: "../img/marker-green.png",
pointRadius: 10
}),
isBaseLayer: true
isBaseLayer: true,
// enable the indexer by setting zIndexing to true
rendererOptions: {zIndexing: true}
}
);
@@ -139,12 +142,17 @@
var leftLonLat = map.getLonLatFromViewPortPx(left);
orderingFeatures.push(
new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point(leftLonLat.lon, bottomLonLat.lat)
new OpenLayers.Geometry.Point(leftLonLat.lon, bottomLonLat.lat),
// Set the zIndex attribute of all features to 0.
// This attribute will be assigned to the graphicZIndex symbolizer property by the layer's styleMap
{zIndex: 0}
)
);
bottom.y -= POINT_DISTANCE / 2; // Divide by 2 for better visual.
left.x += POINT_DISTANCE / 2;
}
// only the first feature gets a zIndex attribute of 1
orderingFeatures[0].attributes.zIndex = 1;
layer.addFeatures(orderingFeatures);
}
@@ -176,13 +184,13 @@
<div class="docs">
In this map, the gold features all have the same z-index, and the red features have alternating z-indeces. The gold features' z-index is greater than the red features' z-indeces, which is why gold features look to be drawn on top of the red features. Since each gold feature has the same z-index, gold features succomb to y-ordering: this is where features that seem closest to the viewer (lower lattitude) show up above those that seem farther away (higher lattitude).
<br><br>
All vector layers have z-indexing enabled by default, but are not enabled with y-ordering. You can enable y-ordering by passing the parameter <i>yOrdering: true</i> in the vector layer's options hash. For all configurations, if features have the same z-index -- and if y-ordering is enabled: the same lattitude -- those features will succomb to drawing order, where the last feature to be drawn will appear above the rest.
You can enable y-ordering by passing the parameter <i>yOrdering: true</i> in the vector layer's options hash. For all configurations (with yOrdering or zIndexing set to true), if features have the same z-index -- and if y-ordering is enabled: the same latitude -- those features will succomb to drawing order, where the last feature to be drawn will appear above the rest.
</div>
</td>
</tr>
</table>
<br>
<h3>Drawing Order (no Z-Indexes set, and Y-Ordering disabled)</h3>
<h3>Z-Index and Drawing Order (Z-Indexes set, and Y-Ordering disabled)</h3>
<table>
<tr>
<td>
@@ -190,9 +198,9 @@
</td>
<td>
<div class="docs">
In this map, features are not given z-indexes, and the layer's <i>yOrdering</i> parameter is set to the default (false). This configuration makes features succomb to drawing order instead of z-index order or y-order.
In this map, <i>zIndexing</i> is set to true. All features are given the same z-index (0), except for the first feature which has a z-index of 1. The layer's <i>yOrdering</i> parameter is set to the default (false). This configuration makes features succomb to z-index and drawing order (for the features with the same z-index), instead of y-order.
<br><br>
The features in this map were drawn from left to right and bottom to top, diagonally, to show that y-ordering is not enabled.
The features in this map were drawn from left to right and bottom to top, diagonally, to show that y-ordering is not enabled. Only the lower-left corner feature is drawn on top of the others, because it has a higher z-index (1 instead of 0).
</div>
</td>
</tr>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: OSM Layer</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style>

View File

@@ -1,56 +1,56 @@
<html>
<head>
<title>Pan and Zoom Panels</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<!--
-- Special stylesheet inclusion for ie6, which doesn't handle the alpha
-- channel of images correctly. The special ie6 stylesheet will only
-- be included if the browser running is ie6. For now, the only thing it
-- does is load alternative, non-alpha pngs for the zoom/pan panels.
-->
<!--[if lte IE 6]>
<link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
<![endif]-->
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="../lib/OpenLayers.js"></script>
<script>
var map;
var lon = 5;
var lat = 40;
var zoom = 5;
function init(){
map = new OpenLayers.Map("map", {
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanPanel(),
new OpenLayers.Control.ZoomPanel()
]
});
var wms = new OpenLayers.Layer.WMS(
"OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'}
);
map.addLayers([wms]);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
</script>
</head>
<body onload='init();'>
<h1 id="title">Pan and Zoom Panels</h1>
<div id="tags"></div>
<p id="shortdesc">Customizable pan and zoom panels</p>
</p>
<div id="map" class="smallmap"></div>
<p id="docs">
The pan and zoom panels allow you to use CSS styling to change the
look and feel of the panels, including changing their position
and their icons without needing to change any code.
</p>
</body>
</html>
<html>
<head>
<title>Pan and Zoom Panels</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<!--
-- Special stylesheet inclusion for ie6, which doesn't handle the alpha
-- channel of images correctly. The special ie6 stylesheet will only
-- be included if the browser running is ie6. For now, the only thing it
-- does is load alternative, non-alpha pngs for the zoom/pan panels.
-->
<!--[if lte IE 6]>
<link rel="stylesheet" href="../theme/default/ie6-style.css" type="text/css" />
<![endif]-->
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="../lib/OpenLayers.js"></script>
<script>
var map;
var lon = 5;
var lat = 40;
var zoom = 5;
function init(){
map = new OpenLayers.Map("map", {
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanPanel(),
new OpenLayers.Control.ZoomPanel()
]
});
var wms = new OpenLayers.Layer.WMS(
"OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'}
);
map.addLayers([wms]);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
}
</script>
</head>
<body onload='init();'>
<h1 id="title">Pan and Zoom Panels</h1>
<div id="tags"></div>
<p id="shortdesc">Customizable pan and zoom panels</p>
</p>
<div id="map" class="smallmap"></div>
<p id="docs">
The pan and zoom panels allow you to use CSS styling to change the
look and feel of the panels, including changing their position
and their icons without needing to change any code.
</p>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Control Panel</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Point Track Markers</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml" debug="true">
<head>
<title>OpenLayers: Popup Mayhem</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
@@ -11,8 +12,6 @@
}
</style>
<link rel="stylesheet" href="../theme/default/framedCloud.css" type="text/css" />
<script src="../lib/Firebug/firebug.js"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">

View File

@@ -36,6 +36,7 @@
new OpenLayers.Size(200,200),
"example popup",
true);
popup.closeOnMove = true;
map.addPopup(popup);
}

View File

@@ -1,6 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Non-Geographic Projection</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">

View File

@@ -10,6 +10,7 @@
clear: left;
}
</style>
<script src="../lib/Gears/gears_init.js"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, vector, protocol, modify;
@@ -41,11 +42,6 @@
strategies : [new OpenLayers.Strategy.Fixed()],
eventListeners: {
featuremodified: function(obj) {
if (obj.feature.state != OpenLayers.State.INSERT &&
obj.feature.state != OpenLayers.State.DELETE) {
obj.feature.state = OpenLayers.State.UPDATE;
}
displayStatus();
}
}

View File

@@ -18,8 +18,8 @@ import sys, os
allowedHosts = ['www.openlayers.org', 'openlayers.org',
'labs.metacarta.com', 'world.freemap.in',
'prototype.openmnnd.org', 'geo.openplans.org',
'sigma.openplans.org',
'www.openstreetmap.org']
'sigma.openplans.org', 'demo.opengeo.org',
'www.openstreetmap.org', 'sample.avencia.com']
method = os.environ["REQUEST_METHOD"]

View File

@@ -0,0 +1,116 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SelectFeature Control on multiple vector layers</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
#controlToggle li {
list-style: none;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, selectControl;
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
function init(){
map = new OpenLayers.Map('map');
var wmsLayer = new OpenLayers.Layer.WMS(
"OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'}
);
var vectors1 = new OpenLayers.Layer.Vector("Vector Layer 1", {
styleMap: new OpenLayers.StyleMap({
"default": new OpenLayers.Style(OpenLayers.Util.applyDefaults({
externalGraphic: "../img/marker-green.png",
graphicOpacity: 1,
rotation: -45,
pointRadius: 10
}, OpenLayers.Feature.Vector.style["default"])),
"select": new OpenLayers.Style({
externalGraphic: "../img/marker-blue.png"
})
})
});
var vectors2 = new OpenLayers.Layer.Vector("Vector Layer 2", {
styleMap: new OpenLayers.StyleMap({
"default": new OpenLayers.Style(OpenLayers.Util.applyDefaults({
fillColor: "red",
strokeColor: "gray",
graphicName: "square",
rotation: 45,
pointRadius: 15
}, OpenLayers.Feature.Vector.style["default"])),
"select": new OpenLayers.Style(OpenLayers.Util.applyDefaults({
graphicName: "square",
rotation: 45,
pointRadius: 15
}, OpenLayers.Feature.Vector.style["select"]))
})
});
map.addLayers([wmsLayer, vectors1, vectors2]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
selectControl = new OpenLayers.Control.SelectFeature(
[vectors1, vectors2],
{
clickout: true, toggle: false,
multiple: false, hover: false,
toggleKey: "ctrlKey", // ctrl key removes from selection
multipleKey: "shiftKey" // shift key adds to selection
}
);
map.addControl(selectControl);
selectControl.activate();
map.setCenter(new OpenLayers.LonLat(0, 0), 3);
vectors1.addFeatures(createFeatures());
vectors2.addFeatures(createFeatures());
vectors1.events.on({
"featureselected": function(e) {
showStatus("selected feature "+e.feature.id+" on Vector Layer 1");
},
"featureunselected": function(e) {
showStatus("unselected feature "+e.feature.id+" on Vector Layer 1");
}
});
vectors2.events.on({
"featureselected": function(e) {
showStatus("selected feature "+e.feature.id+" on Vector Layer 2");
},
"featureunselected": function(e) {
showStatus("unselected feature "+e.feature.id+" on Vector Layer 2");
}
});
}
function createFeatures() {
var extent = map.getExtent();
var features = [];
for(var i=0; i<10; ++i) {
features.push(new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point(extent.left + (extent.right - extent.left) * Math.random(),
extent.bottom + (extent.top - extent.bottom) * Math.random()
)));
}
return features;
}
function showStatus(text) {
document.getElementById("status").innerHTML = text;
}
</script>
</head>
<body onload="init()">
<h1 id="title">OpenLayers Select Feature on Multiple Layers Example</h1>
<p id="shortdesc">
Select a feature on click with the Control.SelectFeature on multiple
vector layers.
</p>
<div id="map" class="smallmap"></div>
<div id="status"></div>
</body>
</html>

View File

@@ -2,7 +2,6 @@
<head>
<title>Open Popup on Layer.Vector</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="../theme/default/framedCloud.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
#controlToggle li {

View File

@@ -75,8 +75,6 @@
function update() {
var clickout = document.getElementById("clickout").checked;
drawControls.select.clickout = clickout;
var hover = document.getElementById("hover").checked;
drawControls.select.hover = hover;
drawControls.select.box = document.getElementById("box").checked;
if(drawControls.select.active) {
drawControls.select.deactivate();

267
examples/snap-split.html Normal file
View File

@@ -0,0 +1,267 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Snapping & Splitting</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
.olControlEditingToolbar .olControlModifyFeatureItemInactive {
background-position: -1px 0px ;
}
.olControlEditingToolbar .olControlModifyFeatureItemActive {
background-position: -1px -23px ;
}
label.head {
font-weight: bold;
padding: 1em 0 0.1em 0;
border-bottom: 1px solid grey;
}
td {
padding: 0.25em 1em;
}
tr.head td {
text-align: center;
font-weight: bold;
}
</style>
<script src="../lib/Firebug/firebug.js"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
function init() {
initMap();
initUI();
}
var map, draw, modify, snap, split, vectors;
function initMap() {
map = new OpenLayers.Map('map');
var styles = new OpenLayers.StyleMap({
"default": new OpenLayers.Style(null, {
rules: [
new OpenLayers.Rule({
symbolizer: {
"Point": {
pointRadius: 5,
graphicName: "square",
fillColor: "white",
fillOpacity: 0.25,
strokeWidth: 1,
strokeOpacity: 1,
strokeColor: "#333333"
},
"Line": {
strokeWidth: 3,
strokeOpacity: 1,
strokeColor: "#666666"
}
}
})
]
}),
"select": new OpenLayers.Style({
strokeColor: "#00ccff",
strokeWidth: 4
}),
"temporary": new OpenLayers.Style(null, {
rules: [
new OpenLayers.Rule({
symbolizer: {
"Point": {
pointRadius: 5,
graphicName: "square",
fillColor: "white",
fillOpacity: 0.25,
strokeWidth: 1,
strokeOpacity: 1,
strokeColor: "#333333"
},
"Line": {
strokeWidth: 3,
strokeOpacity: 1,
strokeColor: "#00ccff"
}
}
})
]
})
});
// create three vector layers
vectors = new OpenLayers.Layer.Vector("Lines", {
isBaseLayer: true,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "data/roads.json",
format: new OpenLayers.Format.GeoJSON()
}),
styleMap: styles,
maxExtent: new OpenLayers.Bounds(
1549471.9221, 6403610.94, 1550001.32545, 6404015.8
)
});
map.addLayer(vectors);
// configure the snapping agent
snap = new OpenLayers.Control.Snapping({layer: vectors});
map.addControl(snap);
snap.activate();
// configure split agent
split = new OpenLayers.Control.Split({
layer: vectors,
source: vectors,
tolerance: 0.0001,
eventListeners: {
aftersplit: function(event) {
flashFeatures(event.features);
}
}
});
map.addControl(split);
split.activate();
// add some editing tools to a panel
var panel = new OpenLayers.Control.Panel({
displayClass: "olControlEditingToolbar"
});
draw = new OpenLayers.Control.DrawFeature(
vectors, OpenLayers.Handler.Path,
{displayClass: "olControlDrawFeaturePoint", title: "Draw Features"}
);
modify = new OpenLayers.Control.ModifyFeature(
vectors, {displayClass: "olControlModifyFeature", title: "Modify Features"}
);
panel.addControls([
new OpenLayers.Control.Navigation({title: "Navigate"}),
draw, modify
]);
map.addControl(panel);
map.addControl(new OpenLayers.Control.MousePosition());
map.zoomToMaxExtent();
}
function flashFeatures(features, index) {
if(!index) {
index = 0;
}
var current = features[index];
if(current && current.layer === vectors) {
vectors.drawFeature(features[index], "select");
}
var prev = features[index-1];
if(prev && prev.layer === vectors) {
vectors.drawFeature(prev, "default");
}
++index;
if(index <= features.length) {
window.setTimeout(function() {flashFeatures(features, index)}, 75);
}
}
/**
* Add behavior to page elements. This basically lets us set snapping
* target properties with the checkboxes and text inputs. The checkboxes
* toggle the target node, vertex, or edge (boolean) values. The
* text inputs set the nodeTolerance, vertexTolerance, or edgeTolerance
* property values.
*/
function initUI() {
// add behavior to snap elements
var snapCheck = $("snap_toggle");
snapCheck.checked = true;
snapCheck.onclick = function() {
if(snapCheck.checked) {
snap.activate();
$("snap_options").style.display = "block";
} else {
snap.deactivate();
$("snap_options").style.display = "none";
}
};
var target, type, tog, tol;
var types = ["node", "vertex", "edge"];
var target = snap.targets[0];
for(var j=0; j<types.length; ++j) {
type = types[j];
tog = $("target_" + type);
tog.checked = target[type];
tog.onclick = (function(tog, type, target) {
return function() {target[type] = tog.checked;}
})(tog, type, target);
tol = $("target_" + type + "Tolerance");
tol.value = target[type + "Tolerance"];
tol.onchange = (function(tol, type, target) {
return function() {
target[type + "Tolerance"] = Number(tol.value) || 0;
}
})(tol, type, target);
}
// add behavior to split elements
var splitCheck = $("split_toggle");
splitCheck.checked = true;
splitCheck.onclick = function() {
if(splitCheck.checked) {
split.activate();
$("split_options").style.display = "block";
} else {
split.deactivate();
$("split_options").style.display = "none";
}
};
var edgeCheck = $("edge_toggle");
edgeCheck.checked = split.edge;
edgeCheck.onclick = function() {
split.edge = edgeCheck.checked;
};
$("clear").onclick = function() {
modify.deactivate();
vectors.destroyFeatures();
};
}
</script>
</head>
<body onload="init()">
<h1 id="title">Snapping & Splitting Example</h1>
<div id="shortdesc">A demonstration snapping and splitting while editing vector features.</div>
<div id="map" class="smallmap"></div>
<br/>
<input type="checkbox" id="snap_toggle" />
<label for="snap_toggle" class="head">Enable Snapping</label>
<table id="snap_options">
<tbody>
<tr class="head">
<td>target</td><td>node</td><td>vertex</td><td>edge</td>
</tr>
<tr>
<td>roads</td>
<td><input type="checkbox" id="target_node" /><input id="target_nodeTolerance" type="text" size="3" /></td>
<td><input type="checkbox" id="target_vertex" /><input id="target_vertexTolerance" type="text" size="3" /></td>
<td><input type="checkbox" id="target_edge" /><input id="target_edgeTolerance" type="text" size="3" /></td>
</tr>
</tbody>
</table>
<br />
<input type="checkbox" id="split_toggle" />
<label for="split_toggle" class="head">Enable Splitting</label>
<table id="split_options">
<tbody>
<tr>
<td><label for="edge_toggle">edges split</label></td>
<td><input type="checkbox" id="edge_toggle" /></td>
</tr>
</tbody>
</table>
<br />
<button id="clear">clear</button> Clear all features.
</body>
</html>

314
examples/snapping.html Normal file
View File

@@ -0,0 +1,314 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Snapping</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
.olControlEditingToolbar .olControlModifyFeatureItemInactive {
background-position: -1px 0px ;
}
.olControlEditingToolbar .olControlModifyFeatureItemActive {
background-position: -1px -23px ;
}
table {
padding: 1em 0 1em;
}
td {
padding: 0.5em 1em;
border: 1px solid #ddd;
}
tr.head td {
text-align: center;
font-weight: bold;
}
</style>
<script src="../lib/Firebug/firebug.js"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';
function init() {
initMap();
initUI();
}
var map, draw, modify, snap, point, line, poly;
function initMap() {
map = new OpenLayers.Map('map');
var styles = new OpenLayers.StyleMap({
"default": new OpenLayers.Style(null, {
rules: [
new OpenLayers.Rule({
symbolizer: {
"Point": {
pointRadius: 5,
graphicName: "square",
fillColor: "white",
fillOpacity: 0.25,
strokeWidth: 1,
strokeOpacity: 1,
strokeColor: "#3333aa"
},
"Line": {
strokeWidth: 3,
strokeOpacity: 1,
strokeColor: "#6666aa"
},
"Polygon": {
strokeWidth: 1,
strokeOpacity: 1,
fillColor: "#9999aa",
strokeColor: "#6666aa"
}
}
})
]
}),
"select": new OpenLayers.Style(null, {
rules: [
new OpenLayers.Rule({
symbolizer: {
"Point": {
pointRadius: 5,
graphicName: "square",
fillColor: "white",
fillOpacity: 0.25,
strokeWidth: 2,
strokeOpacity: 1,
strokeColor: "#0000ff"
},
"Line": {
strokeWidth: 3,
strokeOpacity: 1,
strokeColor: "#0000ff"
},
"Polygon": {
strokeWidth: 2,
strokeOpacity: 1,
fillColor: "#0000ff",
strokeColor: "#0000ff"
}
}
})
]
}),
"temporary": new OpenLayers.Style(null, {
rules: [
new OpenLayers.Rule({
symbolizer: {
"Point": {
graphicName: "square",
pointRadius: 5,
fillColor: "white",
fillOpacity: 0.25,
strokeWidth: 2,
strokeColor: "#0000ff"
},
"Line": {
strokeWidth: 3,
strokeOpacity: 1,
strokeColor: "#0000ff"
},
"Polygon": {
strokeWidth: 2,
strokeOpacity: 1,
strokeColor: "#0000ff",
fillColor: "#0000ff"
}
}
})
]
})
});
// create three vector layers
poly = new OpenLayers.Layer.Vector("polygons", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "data/poly.json",
format: new OpenLayers.Format.GeoJSON()
}),
styleMap: styles,
isBaseLayer: true
});
line = new OpenLayers.Layer.Vector("lines", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "data/line.json",
format: new OpenLayers.Format.GeoJSON()
}),
styleMap: styles
});
point = new OpenLayers.Layer.Vector("points", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "data/point.json",
format: new OpenLayers.Format.GeoJSON()
}),
styleMap: styles
});
map.addLayers([poly, line, point]);
// configure the snapping agent
snap = new OpenLayers.Control.Snapping({
layer: poly,
targets: [point, line, poly],
greedy: false
});
snap.activate();
// add some editing tools to a panel
var panel = new OpenLayers.Control.Panel({
displayClass: "olControlEditingToolbar"
});
draw = new OpenLayers.Control.DrawFeature(
poly, OpenLayers.Handler.Polygon,
{displayClass: "olControlDrawFeaturePoint", title: "Draw Features"}
);
modify = new OpenLayers.Control.ModifyFeature(
poly, {displayClass: "olControlModifyFeature", title: "Modify Features"}
);
panel.addControls([
new OpenLayers.Control.Navigation({title: "Navigate"}),
draw, modify
]);
map.addControl(panel);
// give the map a location
map.setCenter(new OpenLayers.LonLat(0, 0), 1);
}
/**
* Add behavior to page elements. This basically lets us set snapping
* target properties with the checkboxes and text inputs. The checkboxes
* toggle the target node, vertex, or edge (boolean) values. The
* text inputs set the nodeTolerance, vertexTolerance, or edgeTolerance
* property values.
*/
function initUI() {
var check = $("snapping");
check.checked = true;
check.onclick = function() {
if(check.checked) {
snap.activate();
} else {
snap.deactivate();
}
};
var sel = $("editable");
sel.value = "poly";
sel.onchange = function() {
updateEditable(sel.value);
}
var target, type, tog, tol;
var types = ["node", "vertex", "edge"];
for(var i=0; i<snap.targets.length; ++i) {
target = snap.targets[i];
for(var j=0; j<types.length; ++j) {
type = types[j];
tog = $(i + "_" + type);
tog.checked = target[type];
tog.onclick = (function(tog, type, target) {
return function() {target[type] = tog.checked;}
})(tog, type, target);
tol = $(i + "_" + type + "Tolerance");
tol.value = target[type + "Tolerance"];
tol.onchange = (function(tol, type, target) {
return function() {
target[type + "Tolerance"] = Number(tol.value) || 0;
}
})(tol, type, target);
}
}
}
// this function allows the editable layer to be changed
// for the snapping control, this amounts to calling setLayer
function updateEditable(name) {
layer = window[name];
// update the editable layer for the snapping control (nice)
snap.setLayer(layer);
// update the editable layer for the modify control (ugly)
var modActive = modify.active;
if(modActive) {
modify.deactivate();
}
modify.layer = layer;
modify.selectControl.layer = layer;
modify.selectControl.handlers.feature.layer = layer;
modify.dragControl.layer = layer;
modify.dragControl.handlers.drag.layer = layer;
modify.dragControl.handlers.feature.layer = layer;
if(modActive) {
modify.activate();
}
// update the editable layer for the draw control (very ugly)
var drawActive = draw.active;
if(drawActive) {
draw.deactivate();
}
draw.layer = layer;
var handler = ({
point: OpenLayers.Handler.Point,
line: OpenLayers.Handler.Path,
poly: OpenLayers.Handler.Polygon
})[name];
draw.handler = new handler(draw, draw.callbacks, draw.handlerOptions);
if(drawActive) {
draw.activate();
}
}
</script>
</head>
<body onload="init()">
<h1 id="title">Snapping Example</h1>
<div id="shortdesc">A demonstration snapping while editing vector features.</div>
<div id="map" class="smallmap"></div>
<br/>
<label for="editable">Editable Layer:</label>
<select id="editable" name="editable">
<option value="poly">polygons</option>
<option value="line">lines</option>
<option value="point">points</option>
</select>
<label for="snapping">Enable Snapping</label>
<input type="checkbox" name="snapping" id="snapping" checked="checked" />
<table>
<tbody>
<tr class="head">
<td>targets</td><td>node</td><td>vertex</td><td>edge</td>
</tr>
<tr>
<td>points</td>
<td><input type="checkbox" id="0_node" /><input id="0_nodeTolerance" type="text" size="3" /></td>
<td><input type="checkbox" id="0_vertex" /><input id="0_vertexTolerance" type="text" size="3" /></td>
<td><input type="checkbox" id="0_edge" /><input id="0_edgeTolerance" type="text" size="3" /></td>
</tr>
<tr>
<td>lines</td>
<td><input type="checkbox" id="1_node" /><input id="1_nodeTolerance" type="text" size="3" /></td>
<td><input type="checkbox" id="1_vertex" /><input id="1_vertexTolerance" type="text" size="3" /></td>
<td><input type="checkbox" id="1_edge" /><input id="1_edgeTolerance" type="text" size="3" /></td>
</tr>
<tr>
<td>polygons</td>
<td><input type="checkbox" id="2_node" /><input id="2_nodeTolerance" type="text" size="3" /></td>
<td><input type="checkbox" id="2_vertex" /><input id="2_vertexTolerance" type="text" size="3" /></td>
<td><input type="checkbox" id="2_edge" /><input id="2_edgeTolerance" type="text" size="3" /></td>
</tr>
</tbody>
</table>
<p>Though all snapping types are shown here for all target layers, not all are sensible.
Points don't have edges, for example.</p>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Spherical Mercator</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
@@ -78,43 +79,20 @@
);
// create OSM layer
var mapnik = new OpenLayers.Layer.TMS(
"OpenStreetMap (Mapnik)",
"http://tile.openstreetmap.org/",
{
type: 'png', getURL: osm_getTileURL,
displayOutsideMaxExtent: true,
attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
}
);
var mapnik = new OpenLayers.Layer.OSM();
// create OAM layer
var oam = new OpenLayers.Layer.TMS(
var oam = new OpenLayers.Layer.XYZ(
"OpenAerialMap",
"http://tile.openaerialmap.org/tiles/1.0.0/openaerialmap-900913/",
"http://tile.openaerialmap.org/tiles/1.0.0/openaerialmap-900913/${z}/${x}/${y}.png",
{
type: 'png', getURL: osm_getTileURL
sphericalMercator: true
}
);
// create OSM layer
var mapnik = new OpenLayers.Layer.TMS(
"OpenStreetMap (Mapnik)",
"http://a.tile.openstreetmap.org/",
{
type: 'png', getURL: osm_getTileURL,
displayOutsideMaxExtent: true,
attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
}
);
// create OSM layer
var osmarender = new OpenLayers.Layer.TMS(
var osmarender = new OpenLayers.Layer.OSM(
"OpenStreetMap (Tiles@Home)",
"http://tah.openstreetmap.org/Tiles/tile/",
{
type: 'png', getURL: osm_getTileURL,
displayOutsideMaxExtent: true,
attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
}
"http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
);
@@ -142,21 +120,6 @@
if (!map.getCenter()) {map.zoomToMaxExtent()}
}
function osm_getTileURL(bounds) {
var res = this.map.getResolution();
var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
var y = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
var z = this.map.getZoom();
var limit = Math.pow(2, z);
if (y < 0 || y >= limit) {
return OpenLayers.Util.getImagesLocation() + "404.png";
} else {
x = ((x % limit) + limit) % limit;
return this.url + z + "/" + x + "/" + y + "." + this.type;
}
}
</script>
</head>
<body onload="init()">

103
examples/split-feature.html Normal file
View File

@@ -0,0 +1,103 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Split Feature Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, vectors, split;
OpenLayers.Util.onImageLoadErrorColor = "transparent";
function init(){
map = new OpenLayers.Map('map');
// give the features some style
var styles = new OpenLayers.StyleMap({
"default": {
strokeWidth: 2
},
"select": {
strokeColor: "#0099cc",
strokeWidth: 4
}
});
// add rules from the above lookup table
styles.addUniqueValueRules("default", "RP_TYPE", {
10: {strokeColor: "#000000", strokeWidth: 2},
12: {strokeColor: "#222222", strokeWidth: 2},
14: {strokeColor: "#444444", strokeWidth: 2},
16: {strokeColor: "#666666", strokeWidth: 2},
18: {strokeColor: "#888888", strokeWidth: 2},
19: {strokeColor: "#666666", strokeWidth: 1}
});
vectors = new OpenLayers.Layer.Vector("Lines", {
isBaseLayer: true,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "data/roads.json",
format: new OpenLayers.Format.GeoJSON()
}),
styleMap: styles,
maxExtent: new OpenLayers.Bounds(
1549471.9221, 6403610.94, 1550001.32545, 6404015.8
)
});
map.addLayer(vectors);
map.addControl(new OpenLayers.Control.MousePosition());
var split = new OpenLayers.Control.Split({
layer: vectors,
eventListeners: {
aftersplit: function(event) {
flashFeatures(event.features);
}
}
});
map.addControl(split);
split.activate();
map.zoomToMaxExtent();
}
function flashFeatures(features, index) {
if(!index) {
index = 0;
}
var current = features[index];
if(current && current.layer === vectors) {
vectors.drawFeature(features[index], "select");
}
var prev = features[index-1];
if(prev && prev.layer === vectors) {
vectors.drawFeature(prev, "default");
}
++index;
if(index <= features.length) {
window.setTimeout(function() {flashFeatures(features, index)}, 100);
}
}
</script>
</head>
<body onload="init()">
<h1 id="title">OpenLayers Split Feature Example</h1>
<p id="shortdesc">
Demonstrates splitting of line features.
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
The split control can be configured to listen for edits on any vector layer
or it can allow for creation of temporary sketch features. Modified or
newly drawn features will be used to split existing features on any target
layer. This example shows the split control configured to use temporary
sketches for the split.
</div>
</body>
</html>

View File

@@ -13,11 +13,12 @@
map = new OpenLayers.Map('map', {
restrictedExtent: new OpenLayers.Bounds(-180, -90, 180, 90)
});
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
["http://t3.labs.metacarta.com/wms-c/Basic.py",
"http://t2.labs.metacarta.com/wms-c/Basic.py",
"http://t1.labs.metacarta.com/wms-c/Basic.py"],
{layers: 'satellite'}
var base = new OpenLayers.Layer.WMS("Imagery",
["http://t1.hypercube.telascience.org/tiles?",
"http://t2.hypercube.telascience.org/tiles?",
"http://t3.hypercube.telascience.org/tiles?",
"http://t4.hypercube.telascience.org/tiles?"],
{layers: 'landsat7'}
);
var style = new OpenLayers.Style({

View File

@@ -0,0 +1,145 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Cluster Strategy Threshold</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
ul {
list-style: none;
padding-left: 2em;
}
#reset {
margin-left: 2em;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
// create a semi-random grid of features to be clustered
var dx = 3;
var dy = 3;
var px, py;
var features = [];
for(var x=-45; x<=45; x+=dx) {
for(var y=-22.5; y<=22.5; y+=dy) {
px = x + (2 * dx * (Math.random() - 0.5));
py = y + (2 * dy * (Math.random() - 0.5));
features.push(new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point(px, py), {x: px, y: py}
));
}
}
var map, strategy, clusters;
function init() {
map = new OpenLayers.Map('map');
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
["http://t3.labs.metacarta.com/wms-c/Basic.py",
"http://t2.labs.metacarta.com/wms-c/Basic.py",
"http://t1.labs.metacarta.com/wms-c/Basic.py"],
{layers: 'satellite'}
);
var style = new OpenLayers.Style({
pointRadius: "${radius}",
fillColor: "#ffcc66",
fillOpacity: 0.8,
strokeColor: "#cc6633",
strokeWidth: "${width}",
strokeOpacity: 0.8
}, {
context: {
width: function(feature) {
return (feature.cluster) ? 2 : 1;
},
radius: function(feature) {
var pix = 2;
if(feature.cluster) {
pix = Math.min(feature.attributes.count, 7) + 2;
}
return pix;
}
}
});
strategy = new OpenLayers.Strategy.Cluster();
clusters = new OpenLayers.Layer.Vector("Clusters", {
strategies: [strategy],
styleMap: new OpenLayers.StyleMap({
"default": style,
"select": {
fillColor: "#8aeeef",
strokeColor: "#32a8a9"
}
})
});
var select = new OpenLayers.Control.SelectFeature(
clusters, {hover: true}
);
map.addControl(select);
select.activate();
clusters.events.on({"featureselected": display});
map.addLayers([base, clusters]);
map.setCenter(new OpenLayers.LonLat(0, 0), 2);
reset();
$("reset").onclick = reset;
}
function reset() {
var distance = parseInt($("distance").value);
var threshold = parseInt($("threshold").value);
strategy.distance = distance || strategy.distance;
strategy.threshold = threshold || strategy.threshold;
$("distance").value = strategy.distance;
$("threshold").value = strategy.threshold || "null";
clusters.removeFeatures(clusters.features);
clusters.addFeatures(features);
}
function display(event) {
var f = event.feature;
var el = $("output");
if(f.cluster) {
el.innerHTML = "cluster of " + f.attributes.count;
} else {
el.innerHTML = "unclustered " + f.geometry;
}
}
</script>
</head>
<body onload="init()">
<h1 id="title">Cluster Strategy Threshold</h1>
<p id="shortdesc">
Demonstrates the use of the cluster strategy threshold property.
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
<p>The Cluster strategy lets you display points representing clusters
of features within some pixel distance. You can control the behavior
of the cluster strategy by setting its distance and threshold properties.
The distance determines the search radius (in pixels) for features to
cluster. The threshold determines the minimum number of features to
be considered a cluster.</p>
</div>
<br />
<p>Cluster details: <span id="output">hover over a feature to see details.</span></p>
<ul>
<li>
<input id="distance" name="distance" type="text" value="" size="3" />
<label for="distance">distance</label>
</li>
<li>
<input id="threshold" name="threshold" type="text" value="" size="3" />
<label for="threshold">threshold</label>
</li>
</ul>
<button id="reset">recluster</button>
</body>
</html>

View File

@@ -74,11 +74,12 @@
map = new OpenLayers.Map('map', {
restrictedExtent: new OpenLayers.Bounds(-180, -90, 180, 90)
});
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
["http://t3.labs.metacarta.com/wms-c/Basic.py",
"http://t2.labs.metacarta.com/wms-c/Basic.py",
"http://t1.labs.metacarta.com/wms-c/Basic.py"],
{layers: 'satellite'}
var base = new OpenLayers.Layer.WMS("Imagery",
["http://t1.hypercube.telascience.org/tiles?",
"http://t2.hypercube.telascience.org/tiles?",
"http://t3.hypercube.telascience.org/tiles?",
"http://t4.hypercube.telascience.org/tiles?"],
{layers: 'landsat7'}
);
var style = new OpenLayers.Style({

View File

@@ -13,11 +13,12 @@
map = new OpenLayers.Map('map', {
restrictedExtent: new OpenLayers.Bounds(-180, -90, 180, 90)
});
var base = new OpenLayers.Layer.WMS("OpenLayers WMS",
["http://t3.labs.metacarta.com/wms-c/Basic.py",
"http://t2.labs.metacarta.com/wms-c/Basic.py",
"http://t1.labs.metacarta.com/wms-c/Basic.py"],
{layers: 'satellite'}
var base = new OpenLayers.Layer.WMS("Imagery",
["http://t1.hypercube.telascience.org/tiles?",
"http://t2.hypercube.telascience.org/tiles?",
"http://t3.hypercube.telascience.org/tiles?",
"http://t4.hypercube.telascience.org/tiles?"],
{layers: 'landsat7'}
);
var style = new OpenLayers.Style({

View File

@@ -68,7 +68,13 @@
<div id="tags"></div>
<p id="shortdesc">
Shows how to use a StyleMap.
Shows how to use a StyleMap to style features with rule based styling.
A style map references on or more OpenLayers.Style objects. These
OpenLayers.Style objects are collections of OpenLayers.Rule objects
that determine how features are styled. An OpenLayers.Rule object
combines an OpenLayers.Filter object with a symbolizer. A filter is used
to determine whether a rule applies for a given feature, and a symbolizer
is used to draw the feature if the rule applies.
</p>
<div id="map" class="smallmap"></div>

View File

@@ -84,7 +84,10 @@
<div id="tags"></div>
<p id="shortdesc">
Shows how to create a feature styles.
To style features with a custom function that evaluates each feature, use
the context option of an OpenLayers.Style object. If the context object
contains a function and this function is referenced in a symbolizer, the
function will be called with the feature as an argument..
</p>
<div id="map" class="smallmap"></div>

View File

@@ -75,8 +75,10 @@
</script>
</head>
<body onload="init()">
<h1 id="title">Rotation Styles Example</h1>
<p id="shortdesc">Vector point feature symbolizers can have a rotation property. The center of the rotation is the point of the image specified by graphicXOffset and graphicYOffset.</p>
<h1 id="title">Rotation Style Example</h1>
<p id="shortdesc">To style point features with rotation, use the rotation
property of the symbolizer. The center of the rotation is the point of the
image specified by graphicXOffset and graphicYOffset.</p>
<div id="map"></div>
<div id="docs"/>
</body>

View File

@@ -1,7 +1,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Sundials on a Spherical Mercator Map</title>
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="../theme/default/framedCloud.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
@@ -18,7 +19,7 @@
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
var map, select;
function init(){
var options = {
@@ -39,40 +40,61 @@
attribution: '<a href="http://www.openstreetmap.org/">OpenStreetMap</a>'
}
);
map.addLayer(mapnik);
map.addLayer(new OpenLayers.Layer.GML("KML", "kml/sundials.kml",
{
format: OpenLayers.Format.KML,
var gmap = new OpenLayers.Layer.Google("Google", {sphericalMercator:true});
var sundials = new OpenLayers.Layer.Vector("KML", {
projection: map.displayProjection,
formatOptions: {
extractStyles: true,
extractAttributes: true
}
}));
selectControl = new OpenLayers.Control.SelectFeature(map.layers[1],
{onSelect: onFeatureSelect, onUnselect: onFeatureUnselect});
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "kml/sundials.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true
})
})
});
map.addLayers([mapnik, gmap, sundials]);
select = new OpenLayers.Control.SelectFeature(sundials);
sundials.events.on({
"featureselected": onFeatureSelect,
"featureunselected": onFeatureUnselect
});
map.addControl(selectControl);
selectControl.activate();
map.zoomToExtent(new OpenLayers.Bounds(68.774414,11.381836,123.662109,34.628906).transform(map.displayProjection, map.projection));
map.addControl(select);
select.activate();
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToExtent(
new OpenLayers.Bounds(
68.774414, 11.381836, 123.662109, 34.628906
).transform(map.displayProjection, map.projection)
);
}
function onPopupClose(evt) {
selectControl.unselect(selectedFeature);
select.unselectAll();
}
function onFeatureSelect(feature) {
selectedFeature = feature;
popup = new OpenLayers.Popup.FramedCloud("chicken",
feature.geometry.getBounds().getCenterLonLat(),
new OpenLayers.Size(100,100),
"<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description,
null, true, onPopupClose);
function onFeatureSelect(event) {
var feature = event.feature;
var selectedFeature = feature;
var popup = new OpenLayers.Popup.FramedCloud("chicken",
feature.geometry.getBounds().getCenterLonLat(),
new OpenLayers.Size(100,100),
"<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description,
null, true, onPopupClose
);
feature.popup = popup;
map.addPopup(popup);
}
function onFeatureUnselect(feature) {
map.removePopup(feature.popup);
feature.popup.destroy();
feature.popup = null;
function onFeatureUnselect(event) {
var feature = event.feature;
if(feature.popup) {
map.removePopup(feature.popup);
feature.popup.destroy();
delete feature.popup;
}
}
function osm_getTileURL(bounds) {
var res = this.map.getResolution();
@@ -91,12 +113,12 @@
</script>
</head>
<body onload="init()">
<h1 id="title">KML Layer Example</h1>
<h1 id="title">OSM + Google Maps + KML Reprojection</h1>
<div id="tags"></div>
<p id="shortdesc">
Demonstrates loading and displaying a KML file on top of OpenStreetMap (OSM) data.
Demonstrates loading and displaying a KML file on top of OpenStreetMap (OSM) and Google Maps data. Loads data from a KML file of sundials.
</p>
<div id="map" class="smallmap"></div>

View File

@@ -1,7 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="../theme/default/framedCloud.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
@@ -18,33 +17,47 @@
var lon = 5;
var lat = 40;
var zoom = 5;
var map, layer;
var map, select;
function init(){
map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
map.addLayer(new OpenLayers.Layer.GML("KML", "kml/sundials.kml",
{
format: OpenLayers.Format.KML,
formatOptions: {
extractStyles: true,
extractAttributes: true
}
}));
selectControl = new OpenLayers.Control.SelectFeature(map.layers[1],
{onSelect: onFeatureSelect, onUnselect: onFeatureUnselect});
map.addControl(selectControl);
selectControl.activate();
var wms = new OpenLayers.Layer.WMS(
"OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'}
);
var sundials = new OpenLayers.Layer.Vector("KML", {
projection: map.displayProjection,
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "kml/sundials.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true
})
})
});
map.addLayers([wms, sundials]);
select = new OpenLayers.Control.SelectFeature(sundials);
sundials.events.on({
"featureselected": onFeatureSelect,
"featureunselected": onFeatureUnselect
});
map.addControl(select);
select.activate();
map.zoomToExtent(new OpenLayers.Bounds(68.774414,11.381836,123.662109,34.628906));
}
function onPopupClose(evt) {
selectControl.unselect(selectedFeature);
select.unselectAll();
}
function onFeatureSelect(feature) {
selectedFeature = feature;
function onFeatureSelect(event) {
var feature = event.feature;
// Since KML is user-generated, do naive protection against
// Javascript.
var content = "<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description;
@@ -59,10 +72,13 @@
feature.popup = popup;
map.addPopup(popup);
}
function onFeatureUnselect(feature) {
map.removePopup(feature.popup);
feature.popup.destroy();
feature.popup = null;
function onFeatureUnselect(event) {
var feature = event.feature;
if(feature.popup) {
map.removePopup(feature.popup);
feature.popup.destroy();
delete feature.popup;
}
}
</script>
</head>

View File

@@ -0,0 +1,122 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Fill, Stroke, and Graphic Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js" type="text/javascript"></script>
<script type="text/javascript">
var map;
function init() {
map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
// allow testing of specific renderers via "?renderer=Canvas", etc
var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry", {
styleMap: new OpenLayers.StyleMap({
'default': new OpenLayers.Style(null, {
rules: [
new OpenLayers.Rule({
symbolizer: {
graphic: false,
label: "Label for invisible point"
},
filter: new OpenLayers.Filter.Comparison({
type: "==",
property: "topic",
value: "point_invisible"
})
}),
new OpenLayers.Rule({
symbolizer: {
stroke: true,
fill: true,
label: "Polygon with stroke and fill defaults"
},
filter: new OpenLayers.Filter.Comparison({
type: "==",
property: "topic",
value: "polygon_defaults"
})
}),
new OpenLayers.Rule({
symbolizer: {
stroke: true,
fill: false,
label: "Point without fill",
labelAlign: "rb"
},
filter: new OpenLayers.Filter.Comparison({
type: "==",
property: "topic",
value: "point_nofill"
})
})
]
})
}),
renderers: renderer
});
// create a point feature
var point = new OpenLayers.Geometry.Point(-111.04, 45.68);
var pointFeature = new OpenLayers.Feature.Vector(point);
pointFeature.attributes = {
topic: "point_invisible"
};
// create a polygon feature from a linear ring of points
var pointList = [];
for(var p=0; p<6; ++p) {
var a = p * (2 * Math.PI) / 7;
var r = Math.random(1) + 1;
var newPoint = new OpenLayers.Geometry.Point(point.x + 5 + (r * Math.cos(a)),
point.y + 5 + (r * Math.sin(a)));
pointList.push(newPoint);
}
pointList.push(pointList[0]);
var linearRing = new OpenLayers.Geometry.LinearRing(pointList);
var polygonFeature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Polygon([linearRing]));
polygonFeature.attributes = {
topic: "polygon_defaults"
};
multiFeature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Collection([
new OpenLayers.Geometry.LineString([
new OpenLayers.Geometry.Point(-105,40),
new OpenLayers.Geometry.Point(-95,45)
]),
new OpenLayers.Geometry.Point(-105, 40)
]),
{
topic: "point_nofill"
});
map.addLayer(vectorLayer);
vectorLayer.drawFeature(multiFeature);
map.setCenter(new OpenLayers.LonLat(point.x, point.y), 4);
vectorLayer.addFeatures([pointFeature, polygonFeature, multiFeature]);
}
</script>
</head>
<body onload="init()">
<h1 id="title">OpenLayers Example</h1>
<div id="tags"></div>
<p id="shortdesc">
Demonstrate fill, stroke, and graphic property of symbolizers.
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
This example shows how to use symbolizers with defaults for stroke, fill, and graphic.
</div>
</body>
</html>

View File

@@ -0,0 +1,70 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Teleporter Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<style type="text/css">
#wrapper {
position: relative;
}
.spot1 {
width: 250px;
}
.spot2 {
width: 300px;
position: absolute;
left: 300px;
top: 0;
}
</style>
<script type="text/javascript">
var map, layer, spot=1;
function init(){
map = new OpenLayers.Map({
div: "spot1"
});
map.addControl(new OpenLayers.Control.OverviewMap());
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'} );
map.addLayer(layer);
map.zoomTo(2);
}
function teleport() {
if (spot == 1) {
spot = 2;
} else {
spot = 1;
}
map.render("spot" + spot);
}
</script>
</head>
<body onload="init()">
<h1 id="title">Map "Teleportation" and Rendering</h1>
<div id="tags"></div>
<p id="shortdesc">Call the map's render method to change its container.</p>
<div id="wrapper">
<div id="spot1" class="smallmap spot1"></div>
<div id="spot2" class="smallmap spot2"></div>
</div>
<input type="button" onclick="teleport()" value="Teleport!"></input>
<div id="docs">
This example demonstrates how a map can be rendered initially in one
container and then moved to a new container. At any point after map
construction, the map's render method can be called with the id of
an empty container, moving the map to the new container.
</div>
</body>
</html>

View File

@@ -7,7 +7,9 @@
<script type="text/javascript">
var map, layer;
function init(){
map = new OpenLayers.Map( $('map'));
map = new OpenLayers.Map( $('map'), {
resolutions: [0.087890625, 0.0439453125, 0.02197265625, 0.010986328125]
});
layer = new OpenLayers.Layer.TileCache("TileCache Layer",
["http://c0.labs.metacarta.com/wms-c/cache/",
"http://c1.labs.metacarta.com/wms-c/cache/",
@@ -16,8 +18,11 @@
"http://c4.labs.metacarta.com/wms-c/cache/"],
"basic",
{
'format': 'image/png',
maxResolution: 180/256 // same as the TileCache config
serverResolutions: [0.703125, 0.3515625, 0.17578125, 0.087890625,
0.0439453125, 0.02197265625, 0.010986328125,
0.0054931640625, 0.00274658203125, 0.001373291015625,
0.0006866455078125, 0.00034332275390625, 0.000171661376953125,
0.0000858306884765625, 0.00004291534423828125, 0.000021457672119140625]
}
);
map.addLayer(layer);

View File

@@ -0,0 +1,62 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Virtual Earth Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src='http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1'></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, velayer, layer;
function init(){
map = new OpenLayers.Map('map', {
controls: [new OpenLayers.Control.Navigation()],
panMethod: OpenLayers.Easing.Linear.easeOut,
panDuration: 10
});
velayer = new OpenLayers.Layer.VirtualEarth("VE", {
minZoomLevel: 2,
maxZoomLevel: 6,
type: VEMapStyle.Road
});
map.addLayer(velayer);
map.setCenter(new OpenLayers.LonLat(25, 25), 0);
map.addControl( new OpenLayers.Control.PanZoomBar() );
markers = new OpenLayers.Layer.Markers("markers");
map.addLayer(markers);
for(var i=0;i<100;i++){
var lat= Math.floor(Math.random()*50);
var lon= Math.floor(Math.random()*50);
var lonLat=new OpenLayers.LonLat(lon,lat);
var marker=new OpenLayers.Marker(lonLat);
markers.addMarker(marker);
}
}
</script>
</head>
<body onload="init()">
<h1 id="title">Virtual Earth Example</h1>
<div id="tags"></div>
<p id="shortdesc">
When using the PanZoom buttons with VirtualEarth, some 'drift' is
possible in markers. This page demonstrates how to use the
panMethod and panDuration properties to change the OpenLayers
settings to match VirtualEarth.
</p>
<div id="map" class="smallmap"></div>
</body>
</html>

View File

@@ -0,0 +1,112 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Labeled Features Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map;
function init(){
map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
// allow testing of specific renderers via "?renderer=Canvas", etc
var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry", {
styleMap: new OpenLayers.StyleMap({'default':{
strokeColor: "#00FF00",
strokeOpacity: 1,
strokeWidth: 3,
fillColor: "#FF5500",
fillOpacity: 0.5,
pointRadius: 6,
pointerEvents: "visiblePainted",
label : "name: ${name}, age: ${age}",
fontColor: "${favColor}",
fontSize: "12px",
fontFamily: "Courier New, monospace",
fontWeight: "bold",
labelAlign: "${align}"
}}),
renderers: renderer
});
// create a point feature
var point = new OpenLayers.Geometry.Point(-111.04, 45.68);
var pointFeature = new OpenLayers.Feature.Vector(point);
pointFeature.attributes = {
name: "toto",
age: 20,
favColor: 'red',
align: "cm"
};
// create a polygon feature from a linear ring of points
var pointList = [];
for(var p=0; p<6; ++p) {
var a = p * (2 * Math.PI) / 7;
var r = Math.random(1) + 1;
var newPoint = new OpenLayers.Geometry.Point(point.x + 5 + (r * Math.cos(a)),
point.y + 5 + (r * Math.sin(a)));
pointList.push(newPoint);
}
pointList.push(pointList[0]);
var linearRing = new OpenLayers.Geometry.LinearRing(pointList);
var polygonFeature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Polygon([linearRing]));
polygonFeature.attributes = {
name: "dude",
age: 21,
favColor: 'purple',
align: 'lb'
};
multiFeature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Collection([
new OpenLayers.Geometry.LineString([
new OpenLayers.Geometry.Point(-105,40),
new OpenLayers.Geometry.Point(-95,45)
]),
new OpenLayers.Geometry.Point(-105, 40)
]),
{
name: "ball-and-chain",
age: 30,
favColor: 'black',
align: 'rt'
});
var nullFeature = new OpenLayers.Feature.Vector(null);
nullFeature.attributes = {
name: "toto is some text about the world",
age: 20,
favColor: 'red',
align: "cm"
};
map.addLayer(vectorLayer);
vectorLayer.drawFeature(multiFeature);
map.setCenter(new OpenLayers.LonLat(point.x, point.y), 3);
vectorLayer.addFeatures([pointFeature, polygonFeature, multiFeature, nullFeature ]);
}
</script>
</head>
<body onload="init()">
<h1 id="title">OpenLayers Labeled features example</h1>
<div id="tags"></div>
<p id="shortdesc">
Label vector features with a text symbolizer.
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
This example shows drawing simple vector features with a label
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Vector Features</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js" type="text/javascript"></script>
@@ -61,6 +62,8 @@
style_mark.graphicXOffset = -(style_mark.graphicWidth/2); // this is the default value
style_mark.graphicYOffset = -style_mark.graphicHeight;
style_mark.externalGraphic = "../img/marker.png";
// graphicTitle only works in Firefox and Internet Explorer
style_mark.graphicTitle = "this is a test tooltip";
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry", {style: layer_style});
@@ -114,7 +117,7 @@
Shows the use of the shows drawing simple vector features, in different styles.
</p>
<div style="text-align: right">
<div id="map" class="smallmap"></div>
<div dir="rtl" id="map" class="smallmap"></div>
</div>
<div id="docs">
<p>This example shows drawing simple vector features -- point, line, polygon

View File

@@ -0,0 +1,197 @@
<html>
<head>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
<script src="../lib/OpenLayers.js"></script>
<style>
.customEditingToolbar {
float: right;
right: 0px;
height: 30px;
width: 200px;
}
.customEditingToolbar div {
float: right;
margin: 5px;
width: 24px;
height: 24px;
}
.olControlNavigationItemActive {
background-image: url("../theme/default/img/editing_tool_bar.png");
background-repeat: no-repeat;
background-position: -103px -23px;
}
.olControlNavigationItemInactive {
background-image: url("../theme/default/img/editing_tool_bar.png");
background-repeat: no-repeat;
background-position: -103px -0px;
}
.olControlDrawFeaturePolygonItemInactive {
background-image: url("../theme/default/img/editing_tool_bar.png");
background-repeat: no-repeat;
background-position: -26px 0px;
}
.olControlDrawFeaturePolygonItemActive {
background-image: url("../theme/default/img/editing_tool_bar.png");
background-repeat: no-repeat;
background-position: -26px -23px ;
}
.olControlModifyFeatureItemActive {
background-image: url(../theme/default/img/move_feature_on.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
.olControlModifyFeatureItemInactive {
background-image: url(../theme/default/img/move_feature_off.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
.olControlDeleteFeatureItemActive {
background-image: url(../theme/default/img/remove_point_on.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
.olControlDeleteFeatureItemInactive {
background-image: url(../theme/default/img/remove_point_off.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
</style>
<script type="text/javascript">
var map, wfs;
var DeleteFeature = OpenLayers.Class(OpenLayers.Control, {
initialize: function(layer, options) {
OpenLayers.Control.prototype.initialize.apply(this, [options]);
this.layer = layer;
this.handler = new OpenLayers.Handler.Feature(
this, layer, {click: this.clickFeature}
);
},
clickFeature: function(feature) {
// if feature doesn't have a fid, destroy it
if(feature.fid == undefined) {
this.layer.destroyFeatures([feature]);
} else {
feature.state = OpenLayers.State.DELETE;
this.layer.events.triggerEvent("afterfeaturemodified",
{feature: feature});
feature.renderIntent = "select";
this.layer.drawFeature(feature);
}
},
setMap: function(map) {
this.handler.setMap(map);
OpenLayers.Control.prototype.setMap.apply(this, arguments);
},
CLASS_NAME: "OpenLayers.Control.DeleteFeature"
});
function init() {
OpenLayers.ProxyHost= "proxy.cgi?url=";
map = new OpenLayers.Map('map', {
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
units: "m",
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(
-11593508, 5509847, -11505759, 5557774
),
controls: [
new OpenLayers.Control.PanZoom()
]
});
var gphy = new OpenLayers.Layer.Google(
"Google Physical",
{type: G_PHYSICAL_MAP, sphericalMercator: true}
);
var saveStrategy = new OpenLayers.Strategy.Save();
wfs = new OpenLayers.Layer.Vector("Editable Features", {
strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],
projection: new OpenLayers.Projection("EPSG:4326"),
protocol: new OpenLayers.Protocol.WFS({
version: "1.1.0",
srsName: "EPSG:4326",
url: "http://demo.opengeo.org/geoserver/wfs",
featureNS : "http://opengeo.org",
featureType: "restricted",
geometryName: "the_geom",
schema: "http://demo.opengeo.org/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=og:restricted"
})
});
map.addLayers([gphy, wfs]);
var panel = new OpenLayers.Control.Panel(
{'displayClass': 'customEditingToolbar'}
);
var navigate = new OpenLayers.Control.Navigation({
title: "Pan Map",
});
var draw = new OpenLayers.Control.DrawFeature(
wfs, OpenLayers.Handler.Polygon,
{
title: "Draw Feature",
displayClass: "olControlDrawFeaturePolygon",
handlerOptions: {multi: true}
}
);
var edit = new OpenLayers.Control.ModifyFeature(wfs, {
title: "Modify Feature",
displayClass: "olControlModifyFeature",
});
var del = new DeleteFeature(wfs, {title: "Delete Feature"});
var save = new OpenLayers.Control.Button({
title: "Save Changes",
trigger: function() {
if(edit.feature) {
edit.selectControl.unselectAll();
}
saveStrategy.save();
},
displayClass: "olControlSaveFeatures"
});
panel.addControls([navigate, save, del, edit, draw]);
panel.defaultControl = navigate;
map.addControl(panel);
map.zoomToMaxExtent();
}
</script>
</head>
<body onload="init()">
<h1 id="title">WFS Transaction Example</h1>
<div id="tags">
</div>
<p id="shortdesc">
Shows the use of the WFS Transactions (WFS-T).
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
<p>The WFS protocol allows for creation of new features and reading,
updating, or deleting of existing features.</p>
<p>Use the tools to create, modify, and delete (in order from left
to right) features. Use the save tool (picture of a disk) to
save your changes. Use the navigation tool (hand) to stop editing
and use the mouse for map navigation.</p>
</div>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Vector Behavior Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/Firebug/firebug.js"></script>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map;
function init() {
OpenLayers.ProxyHost= "proxy.cgi?url=";
map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS(
"OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0",
{layers: 'basic'}
);
var layer = new OpenLayers.Layer.Vector("WFS", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
url: "http://publicus.opengeo.org/geoserver/wfs",
featureType: "tasmania_roads",
featureNS: "http://www.openplans.org/topp"
})
});
map.addLayers([wms, layer]);
map.setCenter(new OpenLayers.LonLat(146.7, -41.8), 6);
}
</script>
</head>
<body onload="init()">
<h1 id="title">Vector Behavior Example</h1>
<p id="shortdesc">
Uses a BBOX strategy, WFS protocol, and GML format.
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
<p>The vector layer shown uses the BBOX strategy, the WFS protocol,
and the GML format. The BBOX strategy fetches features within a
bounding box. When the map bounds invalidate the data bounds,
another request is triggered. The WFS protocol gets features
through a WFS request. The GML format is used to serialize
features.</p>
</div>
</body>
</html>

View File

@@ -0,0 +1,288 @@
<html>
<head>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<style>
.customEditingToolbar {
float: right;
right: 0px;
height: 30px;
width: 200px;
}
.customEditingToolbar div {
float: right;
margin: 5px;
width: 24px;
height: 24px;
}
.olControlNavigationItemActive {
background-image: url("../theme/default/img/editing_tool_bar.png");
background-repeat: no-repeat;
background-position: -103px -23px;
}
.olControlNavigationItemInactive {
background-image: url("../theme/default/img/editing_tool_bar.png");
background-repeat: no-repeat;
background-position: -103px -0px;
}
.olControlDrawFeaturePointItemInactive {
background-image: url("../theme/default/img/editing_tool_bar.png");
background-repeat: no-repeat;
background-position: -77px 0px;
}
.olControlDrawFeaturePointItemActive {
background-image: url("../theme/default/img/editing_tool_bar.png");
background-repeat: no-repeat;
background-position: -77px -23px ;
}
.olControlModifyFeatureItemActive {
background-image: url(../theme/default/img/move_feature_on.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
.olControlModifyFeatureItemInactive {
background-image: url(../theme/default/img/move_feature_off.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
.olControlDeleteFeatureItemActive {
background-image: url(../theme/default/img/remove_point_on.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
.olControlDeleteFeatureItemInactive {
background-image: url(../theme/default/img/remove_point_off.png);
background-repeat: no-repeat;
background-position: 0px 1px;
}
</style>
<script type="text/javascript">
var map, wfs;
var DeleteFeature = OpenLayers.Class(OpenLayers.Control, {
initialize: function(layer, options) {
OpenLayers.Control.prototype.initialize.apply(this, [options]);
this.layer = layer;
this.handler = new OpenLayers.Handler.Feature(
this, layer, {click: this.clickFeature}
);
},
clickFeature: function(feature) {
// if feature doesn't have a fid, destroy it
if(feature.fid == undefined) {
this.layer.destroyFeatures([feature]);
} else {
feature.state = OpenLayers.State.DELETE;
this.layer.events.triggerEvent("afterfeaturemodified",
{feature: feature});
feature.renderIntent = "select";
this.layer.drawFeature(feature);
}
},
setMap: function(map) {
this.handler.setMap(map);
OpenLayers.Control.prototype.setMap.apply(this, arguments);
},
CLASS_NAME: "OpenLayers.Control.DeleteFeature"
});
function init() {
OpenLayers.ProxyHost= "proxy.cgi?url=";
map = new OpenLayers.Map('map', {
maxResolution: 156543.03390625,
restrictedExtent: new OpenLayers.Bounds(
-11560239, 5541115, -11560239, 5542338
),
maxExtent: new OpenLayers.Bounds(
-2.003750834E7,-2.003750834E7,
2.003750834E7,2.003750834E7
),
projection: new OpenLayers.Projection("EPSG:900913"),
controls: [
new OpenLayers.Control.PanZoom()
]
});
var wms = new OpenLayers.Layer.WMS(
"Base Layer", "http://demo.opengeo.org/geoserver_openstreetmap/gwc/service/wms",
{
layers: 'openstreetmap',
format: 'image/png'
}
);
var styles = new OpenLayers.StyleMap({
"default": new OpenLayers.Style(null, {
rules: [
new OpenLayers.Rule({
symbolizer: {
"Point": {
pointRadius: 5,
graphicName: "square",
fillColor: "white",
fillOpacity: 0.25,
strokeWidth: 1,
strokeOpacity: 1,
strokeColor: "#333333"
},
"Line": {
strokeWidth: 3,
strokeOpacity: 1,
strokeColor: "#666666"
}
}
})
]
}),
"select": new OpenLayers.Style({
strokeColor: "#00ccff",
strokeWidth: 4
}),
"temporary": new OpenLayers.Style(null, {
rules: [
new OpenLayers.Rule({
symbolizer: {
"Point": {
pointRadius: 5,
graphicName: "square",
fillColor: "white",
fillOpacity: 0.25,
strokeWidth: 1,
strokeOpacity: 1,
strokeColor: "#333333"
},
"Line": {
strokeWidth: 3,
strokeOpacity: 1,
strokeColor: "#00ccff"
}
}
})
]
})
});
var saveStrategy = new OpenLayers.Strategy.Save();
wfs = new OpenLayers.Layer.Vector("Editable Features", {
strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],
projection: new OpenLayers.Projection("EPSG:4326"),
styleMap: styles,
protocol: new OpenLayers.Protocol.WFS({
version: "1.1.0",
srsName: "EPSG:4326",
url: "http://demo.opengeo.org/geoserver/wfs",
featureNS : "http://opengeo.org",
featureType: "roads",
geometryName: "the_geom",
schema: "http://demo.opengeo.org/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=og:roads"
})
});
map.addLayers([wms, wfs]);
// configure the snapping agent
var snap = new OpenLayers.Control.Snapping({layer: wfs});
map.addControl(snap);
snap.activate();
// configure split agent
var split = new OpenLayers.Control.Split({
layer: wfs,
source: wfs,
tolerance: 0.0001,
deferDelete: true,
eventListeners: {
aftersplit: function(event) {
var msg = "Split resulted in " + event.features.length + " features.";
flashFeatures(event.features);
}
}
});
map.addControl(split);
split.activate();
// add some editing tools to a panel
var panel = new OpenLayers.Control.Panel(
{displayClass: 'customEditingToolbar'}
);
var draw = new OpenLayers.Control.DrawFeature(
wfs, OpenLayers.Handler.Path,
{
title: "Draw Feature",
displayClass: "olControlDrawFeaturePoint",
handlerOptions: {multi: true}
}
);
modify = new OpenLayers.Control.ModifyFeature(
wfs, {displayClass: "olControlModifyFeature"}
);
var del = new DeleteFeature(wfs, {title: "Delete Feature"});
var save = new OpenLayers.Control.Button({
title: "Save Changes",
trigger: function() {
if(modify.feature) {
modify.selectControl.unselectAll();
}
saveStrategy.save();
},
displayClass: "olControlSaveFeatures"
});
panel.addControls([
new OpenLayers.Control.Navigation(),
save, del, modify, draw
]);
panel.defaultControl = panel.controls[0];
map.addControl(panel);
map.zoomTo(15);
}
function flashFeatures(features, index) {
if(!index) {
index = 0;
}
var current = features[index];
if(current && current.layer === wfs) {
wfs.drawFeature(features[index], "select");
}
var prev = features[index-1];
if(prev && prev.layer === wfs) {
wfs.drawFeature(prev, "default");
}
++index;
if(index <= features.length) {
window.setTimeout(function() {flashFeatures(features, index)}, 100);
}
}
</script>
</head>
<body onload="init()">
<h1 id="title">Snap/Split and Persist via WFS</h1>
<div id="tags">
</div>
<p id="shortdesc">
Shows snapping, splitting, and use of the WFS Transactions (WFS-T).
</p>
<div id="map" class="smallmap"></div>
<div id="docs">
<p>The WFS protocol allows for creation of new features and reading,
updating, or deleting of existing features.</p>
<p>Use the tools to create, modify, and delete (in order from left
to right) features. Use the save tool (picture of a disk) to
save your changes. Use the navigation tool (hand) to stop editing
and use the mouse for map navigation.</p>
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: WFS-T</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/Firebug/firebug.js"></script>
@@ -53,7 +54,7 @@
var draw = new OpenLayers.Control.DrawFeature(
wfs, OpenLayers.Handler.Point,
{
handlerOptions: {freehand: false},
handlerOptions: {freehand: false, multi: true},
displayClass: "olControlDrawFeaturePoint"
}
);
@@ -62,14 +63,6 @@
trigger: OpenLayers.Function.bind(wfs.commit, wfs),
displayClass: "olControlSaveFeatures"
});
draw.featureAdded = function(feature) {
var oldgeom = feature.geometry;
feature.layer.renderer.eraseGeometry(oldgeom);
feature.geometry = new OpenLayers.Geometry.MultiPoint(oldgeom);
feature.state = OpenLayers.State.INSERT;
feature.layer.drawFeature(feature);
}
panel.addControls([
new OpenLayers.Control.Navigation(),

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: WMS + Time</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Wrap Date Line</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>

View File

@@ -0,0 +1,5 @@
<WMS_DescribeLayerResponse version="1.1.1">
<LayerDescription name="topp:states" wfs="http://demo.opengeo.org:80/geoserver/wfs/WfsDispatcher?">
<Query typeName="topp:states"/>
</LayerDescription>
</WMS_DescribeLayerResponse>

34
examples/xyz-esri.html Normal file
View File

@@ -0,0 +1,34 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers Basic ESRI Map Cache Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, layer;
function init(){
OpenLayers.Util.onImageLoadError = function() { this.style.display="none";}
var layerExtent = new OpenLayers.Bounds( -13758743.4295939, 5591455.28887228, -13531302.3472101 , 5757360.4178881)
map = new OpenLayers.Map( 'map', {'restrictedExtent': layerExtent} );
layer = new OpenLayers.Layer.XYZ( "ESRI",
"http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServer/tile/${z}/${y}/${x}",
{sphericalMercator: true} );
map.addLayer(layer);
map.zoomToExtent(map.restrictedExtent);
}
</script>
</head>
<body onload="init()">
<h1 id="title">Basic ESRI Map Cache Example</h1>
<div id="tags"></div>
<div id="shortdesc">Show a Simple ESRI map using the layer from <a href="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServer">ESRI's server</a>. </div>
<div id="map" class="smallmap"></div>
<div id="docs">
Show the use of the XYZ layer to access a map cache provided in spherical mercator by ESRI.
</div>
</body>
</html>

View File

@@ -1,5 +1,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OpenLayers: Yahoo Layer</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers"></script>

View File

@@ -5,6 +5,7 @@
/*
* @requires OpenLayers/BaseTypes.js
* @requires OpenLayers/Lang/en.js
* @requires OpenLayers/Console.js
*/
(function() {
@@ -36,28 +37,22 @@
* {String} Path to this script
*/
_getScriptLocation: function () {
var scriptLocation = "";
var scriptName = OpenLayers._scriptName;
var scriptLocation = "";
var isOL = new RegExp("(^|(.*?\\/))(" + OpenLayers._scriptName + ")(\\?|$)");
var scripts = document.getElementsByTagName('script');
for (var i=0, len=scripts.length; i<len; i++) {
var src = scripts[i].getAttribute('src');
if (src) {
var index = src.lastIndexOf(scriptName);
// set path length for src up to a query string
var pathLength = src.lastIndexOf('?');
if (pathLength < 0) {
pathLength = src.length;
}
// is it found, at the end of the URL?
if ((index > -1) && (index + scriptName.length == pathLength)) {
scriptLocation = src.slice(0, pathLength - scriptName.length);
var match = src.match(isOL);
if(match) {
scriptLocation = match[1];
break;
}
}
}
return scriptLocation;
}
}
};
/**
* OpenLayers.singleFile is a flag indicating this file is being included
@@ -83,11 +78,10 @@
"OpenLayers/Tween.js",
"Rico/Corner.js",
"Rico/Color.js",
"Gears/gears_init.js",
"OpenLayers/Ajax.js",
"OpenLayers/Events.js",
"OpenLayers/Request.js",
"OpenLayers/Request/XMLHttpRequest.js",
"OpenLayers/Events.js",
"OpenLayers/Projection.js",
"OpenLayers/Map.js",
"OpenLayers/Layer.js",
@@ -116,10 +110,13 @@
"OpenLayers/Layer/Markers.js",
"OpenLayers/Layer/Text.js",
"OpenLayers/Layer/WorldWind.js",
"OpenLayers/Layer/ArcGIS93Rest.js",
"OpenLayers/Layer/WMS.js",
"OpenLayers/Layer/WMS/Untiled.js",
"OpenLayers/Layer/ArcIMS.js",
"OpenLayers/Layer/GeoRSS.js",
"OpenLayers/Layer/Boxes.js",
"OpenLayers/Layer/XYZ.js",
"OpenLayers/Layer/TMS.js",
"OpenLayers/Layer/TileCache.js",
"OpenLayers/Popup/Anchored.js",
@@ -158,6 +155,8 @@
"OpenLayers/Control/Permalink.js",
"OpenLayers/Control/Scale.js",
"OpenLayers/Control/ScaleLine.js",
"OpenLayers/Control/Snapping.js",
"OpenLayers/Control/Split.js",
"OpenLayers/Control/LayerSwitcher.js",
"OpenLayers/Control/DrawFeature.js",
"OpenLayers/Control/DragFeature.js",
@@ -166,6 +165,7 @@
"OpenLayers/Control/SelectFeature.js",
"OpenLayers/Control/NavigationHistory.js",
"OpenLayers/Control/Measure.js",
"OpenLayers/Control/WMSGetFeatureInfo.js",
"OpenLayers/Geometry.js",
"OpenLayers/Geometry/Rectangle.js",
"OpenLayers/Geometry/Collection.js",
@@ -184,15 +184,21 @@
"OpenLayers/Renderer/Canvas.js",
"OpenLayers/Renderer/VML.js",
"OpenLayers/Layer/Vector.js",
"OpenLayers/Layer/Vector/RootContainer.js",
"OpenLayers/Strategy.js",
"OpenLayers/Strategy/Fixed.js",
"OpenLayers/Strategy/Cluster.js",
"OpenLayers/Strategy/Paging.js",
"OpenLayers/Strategy/BBOX.js",
"OpenLayers/Strategy/Save.js",
"OpenLayers/Protocol.js",
"OpenLayers/Protocol/HTTP.js",
"OpenLayers/Protocol/SQL.js",
"OpenLayers/Protocol/SQL/Gears.js",
"OpenLayers/Protocol/WFS.js",
"OpenLayers/Protocol/WFS/v1.js",
"OpenLayers/Protocol/WFS/v1_0_0.js",
"OpenLayers/Protocol/WFS/v1_1_0.js",
"OpenLayers/Layer/PointTrack.js",
"OpenLayers/Layer/GML.js",
"OpenLayers/Style.js",
@@ -205,6 +211,8 @@
"OpenLayers/Filter/Spatial.js",
"OpenLayers/Format.js",
"OpenLayers/Format/XML.js",
"OpenLayers/Format/ArcXML.js",
"OpenLayers/Format/ArcXML/Features.js",
"OpenLayers/Format/GML.js",
"OpenLayers/Format/GML/Base.js",
"OpenLayers/Format/GML/v2.js",
@@ -212,16 +220,28 @@
"OpenLayers/Format/KML.js",
"OpenLayers/Format/GeoRSS.js",
"OpenLayers/Format/WFS.js",
"OpenLayers/Format/WFSCapabilities.js",
"OpenLayers/Format/WFSCapabilities/v1.js",
"OpenLayers/Format/WFSCapabilities/v1_0_0.js",
"OpenLayers/Format/WFSCapabilities/v1_1_0.js",
"OpenLayers/Format/WFSDescribeFeatureType.js",
"OpenLayers/Format/WMSDescribeLayer.js",
"OpenLayers/Format/WMSDescribeLayer/v1_1.js",
"OpenLayers/Format/WKT.js",
"OpenLayers/Format/OSM.js",
"OpenLayers/Format/GPX.js",
"OpenLayers/Format/Filter.js",
"OpenLayers/Format/Filter/v1.js",
"OpenLayers/Format/Filter/v1_0_0.js",
"OpenLayers/Format/Filter/v1_1_0.js",
"OpenLayers/Format/SLD.js",
"OpenLayers/Format/SLD/v1.js",
"OpenLayers/Format/SLD/v1_0_0.js",
"OpenLayers/Format/SLD/v1.js",
"OpenLayers/Format/Filter.js",
"OpenLayers/Format/Filter/v1.js",
"OpenLayers/Format/Filter/v1_0_0.js",
"OpenLayers/Format/WFST.js",
"OpenLayers/Format/WFST/v1.js",
"OpenLayers/Format/WFST/v1_0_0.js",
"OpenLayers/Format/WFST/v1_1_0.js",
"OpenLayers/Format/Text.js",
"OpenLayers/Format/JSON.js",
"OpenLayers/Format/GeoJSON.js",
@@ -229,7 +249,13 @@
"OpenLayers/Format/WMC/v1.js",
"OpenLayers/Format/WMC/v1_0_0.js",
"OpenLayers/Format/WMC/v1_1_0.js",
"OpenLayers/Format/WMSCapabilities.js",
"OpenLayers/Format/WMSCapabilities/v1_1.js",
"OpenLayers/Format/WMSCapabilities/v1_1_0.js",
"OpenLayers/Format/WMSCapabilities/v1_1_1.js",
"OpenLayers/Format/WMSGetFeatureInfo.js",
"OpenLayers/Layer/WFS.js",
"OpenLayers/Control/GetFeature.js",
"OpenLayers/Control/MouseToolbar.js",
"OpenLayers/Control/NavToolbar.js",
"OpenLayers/Control/PanPanel.js",

View File

@@ -4,6 +4,7 @@
/**
* @requires OpenLayers/Request/XMLHttpRequest.js
* @requires OpenLayers/Console.js
*/
OpenLayers.ProxyHost = "";
@@ -42,7 +43,7 @@ OpenLayers.nullHandler = function(request) {
};
/**
* Function: loadURL
* APIFunction: loadURL
* Background load a document. For more flexibility in using XMLHttpRequest,
* see the <OpenLayers.Request> methods.
*

View File

@@ -10,6 +10,7 @@
* @requires OpenLayers/BaseTypes/Bounds.js
* @requires OpenLayers/BaseTypes/Element.js
* @requires OpenLayers/Lang/en.js
* @requires OpenLayers/Console.js
*/
/**
@@ -66,7 +67,7 @@ OpenLayers.String = {
* trailing spaces removed.
*/
trim: function(str) {
return str.replace(/^\s*(.*?)\s*$/, "$1");
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
},
/**
@@ -116,25 +117,52 @@ OpenLayers.String = {
if(!context) {
context = window;
}
var tokens = template.split("${");
var item, last, replacement;
for(var i=1, len=tokens.length; i<len; i++) {
item = tokens[i];
last = item.indexOf("}");
if(last > 0) {
replacement = context[item.substring(0, last)];
if(typeof replacement == "function") {
replacement = args ?
replacement.apply(null, args) :
replacement();
// Example matching:
// str = ${foo.bar}
// match = foo.bar
var replacer = function(str, match) {
var replacement;
// Loop through all subs. Example: ${a.b.c}
// 0 -> replacement = context[a];
// 1 -> replacement = context[a][b];
// 2 -> replacement = context[a][b][c];
var subs = match.split(/\.+/);
for (var i=0; i< subs.length; i++) {
if (i == 0) {
replacement = context;
}
tokens[i] = replacement + item.substring(++last);
} else {
tokens[i] = "${" + item;
replacement = replacement[subs[i]];
}
}
return tokens.join("");
if(typeof replacement == "function") {
replacement = args ?
replacement.apply(null, args) :
replacement();
}
// If replacement is undefined, return the string 'undefined'.
// This is a workaround for a bugs in browsers not properly
// dealing with non-participating groups in regular expressions:
// http://blog.stevenlevithan.com/archives/npcg-javascript
if (typeof replacement == 'undefined') {
return 'undefined';
} else {
return replacement;
}
};
return template.replace(OpenLayers.String.tokenRegEx, replacer);
},
/**
* Property: OpenLayers.String.tokenRegEx
* Used to find tokens in a string.
* Examples: ${a}, ${a.b.c}, ${a-b}, ${5}
*/
tokenRegEx: /\${([\w.]+?)}/g,
/**
* Property: OpenLayers.String.numberRegEx
@@ -159,6 +187,18 @@ OpenLayers.String = {
*/
isNumeric: function(value) {
return OpenLayers.String.numberRegEx.test(value);
},
/**
* APIFunction: numericIf
* Converts a string that appears to be a numeric value into a number.
*
* Returns
* {Number|String} a Number if the passed value is a number, a String
* otherwise.
*/
numericIf: function(value) {
return OpenLayers.String.isNumeric(value) ? parseFloat(value) : value;
}
};
@@ -340,7 +380,7 @@ if (!Number.prototype.limitSigDigs) {
*/
Number.prototype.limitSigDigs = function(sig) {
OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
{'newMethod':'OpenLayers.String.limitSigDigs'}));
{'newMethod':'OpenLayers.Number.limitSigDigs'}));
return OpenLayers.Number.limitSigDigs(this, sig);
};
}
@@ -409,7 +449,7 @@ if (!Function.prototype.bind) {
*/
Function.prototype.bind = function() {
OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
{'newMethod':'OpenLayers.String.bind'}));
{'newMethod':'OpenLayers.Function.bind'}));
// new function takes the same arguments with this function up front
Array.prototype.unshift.apply(arguments, [this]);
return OpenLayers.Function.bind.apply(null, arguments);
@@ -430,7 +470,7 @@ if (!Function.prototype.bindAsEventListener) {
*/
Function.prototype.bindAsEventListener = function(object) {
OpenLayers.Console.warn(OpenLayers.i18n("methodDeprecated",
{'newMethod':'OpenLayers.String.bindAsEventListener'}));
{'newMethod':'OpenLayers.Function.bindAsEventListener'}));
return OpenLayers.Function.bindAsEventListener(this, object);
};
}

View File

@@ -2,6 +2,10 @@
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Console.js
*/
/**
* Class: OpenLayers.Bounds
* Instances of this class represent bounding boxes. Data stored as left,
@@ -38,7 +42,14 @@ OpenLayers.Bounds = OpenLayers.Class({
* Property: top
* {Number} Maximum vertical coordinate.
*/
top: null,
top: null,
/**
* Property: centerLonLat
* {<OpenLayers.LonLat>} A cached center location. This should not be
* accessed directly. Use <getCenterLonLat> instead.
*/
centerLonLat: null,
/**
* Constructor: OpenLayers.Bounds
@@ -54,16 +65,16 @@ OpenLayers.Bounds = OpenLayers.Class({
*/
initialize: function(left, bottom, right, top) {
if (left != null) {
this.left = parseFloat(left);
this.left = OpenLayers.Util.toFloat(left);
}
if (bottom != null) {
this.bottom = parseFloat(bottom);
this.bottom = OpenLayers.Util.toFloat(bottom);
}
if (right != null) {
this.right = parseFloat(right);
this.right = OpenLayers.Util.toFloat(right);
}
if (top != null) {
this.top = parseFloat(top);
this.top = OpenLayers.Util.toFloat(top);
}
},
@@ -147,7 +158,7 @@ OpenLayers.Bounds = OpenLayers.Class({
return bbox;
},
/**
* APIMethod: toGeometry
* Create a new polygon geometry based on this bounds.
@@ -215,8 +226,12 @@ OpenLayers.Bounds = OpenLayers.Class({
* {<OpenLayers.LonLat>} The center of the bounds in map space.
*/
getCenterLonLat:function() {
return new OpenLayers.LonLat( (this.left + this.right) / 2,
(this.bottom + this.top) / 2);
if(!this.centerLonLat) {
this.centerLonLat = new OpenLayers.LonLat(
(this.left + this.right) / 2, (this.bottom + this.top) / 2
);
}
return this.centerLonLat;
},
/**
@@ -257,7 +272,7 @@ OpenLayers.Bounds = OpenLayers.Class({
var bottom = (this.bottom - origy) * ratio + origy;
var right = (this.right - origx) * ratio + origx;
var top = (this.top - origy) * ratio + origy;
return new OpenLayers.Bounds(left, bottom, right, top);
},
@@ -293,6 +308,7 @@ OpenLayers.Bounds = OpenLayers.Class({
extend:function(object) {
var bounds = null;
if (object) {
// clear cached center location
switch(object.CLASS_NAME) {
case "OpenLayers.LonLat":
bounds = new OpenLayers.Bounds(object.lon, object.lat,
@@ -309,6 +325,7 @@ OpenLayers.Bounds = OpenLayers.Class({
}
if (bounds) {
this.centerLonLat = null;
if ( (this.left == null) || (bounds.left < this.left)) {
this.left = bounds.left;
}
@@ -369,12 +386,18 @@ OpenLayers.Bounds = OpenLayers.Class({
* bounds.
*/
contains:function(x, y, inclusive) {
//set default
if (inclusive == null) {
inclusive = true;
}
if (x == null || y == null) {
return false;
}
x = OpenLayers.Util.toFloat(x);
y = OpenLayers.Util.toFloat(y);
var contains = false;
if (inclusive) {
contains = ((x >= this.left) && (x <= this.right) &&
@@ -388,82 +411,85 @@ OpenLayers.Bounds = OpenLayers.Class({
/**
* APIMethod: intersectsBounds
* Determine whether the target bounds intersects this bounds. Bounds are
* considered intersecting if any of their edges intersect or if one
* bounds contains the other.
*
* Parameters:
* bounds - {<OpenLayers.Bounds>}
* inclusive - {Boolean} Whether or not to include the border. Default
* is true.
* bounds - {<OpenLayers.Bounds>} The target bounds.
* inclusive - {Boolean} Treat coincident borders as intersecting. Default
* is true. If false, bounds that do not overlap but only touch at the
* border will not be considered as intersecting.
*
* Returns:
* {Boolean} The passed-in OpenLayers.Bounds object intersects this bounds.
* Simple math just check if either contains the other, allowing for
* partial.
* {Boolean} The passed-in bounds object intersects this bounds.
*/
intersectsBounds:function(bounds, inclusive) {
if (inclusive == null) {
inclusive = true;
}
var inBottom = (bounds.bottom == this.bottom && bounds.top == this.top) ?
true : (((bounds.bottom > this.bottom) && (bounds.bottom < this.top)) ||
((this.bottom > bounds.bottom) && (this.bottom < bounds.top)));
var inTop = (bounds.bottom == this.bottom && bounds.top == this.top) ?
true : (((bounds.top > this.bottom) && (bounds.top < this.top)) ||
((this.top > bounds.bottom) && (this.top < bounds.top)));
var inRight = (bounds.right == this.right && bounds.left == this.left) ?
true : (((bounds.right > this.left) && (bounds.right < this.right)) ||
((this.right > bounds.left) && (this.right < bounds.right)));
var inLeft = (bounds.right == this.right && bounds.left == this.left) ?
true : (((bounds.left > this.left) && (bounds.left < this.right)) ||
((this.left > bounds.left) && (this.left < bounds.right)));
return (this.containsBounds(bounds, true, inclusive) ||
bounds.containsBounds(this, true, inclusive) ||
((inTop || inBottom ) && (inLeft || inRight )));
var intersects = false;
var mightTouch = (
this.left == bounds.right ||
this.right == bounds.left ||
this.top == bounds.bottom ||
this.bottom == bounds.top
);
// if the two bounds only touch at an edge, and inclusive is false,
// then the bounds don't *really* intersect.
if (inclusive || !mightTouch) {
// otherwise, if one of the boundaries even partially contains another,
// inclusive of the edges, then they do intersect.
var inBottom = (
((bounds.bottom >= this.bottom) && (bounds.bottom <= this.top)) ||
((this.bottom >= bounds.bottom) && (this.bottom <= bounds.top))
);
var inTop = (
((bounds.top >= this.bottom) && (bounds.top <= this.top)) ||
((this.top > bounds.bottom) && (this.top < bounds.top))
);
var inLeft = (
((bounds.left >= this.left) && (bounds.left <= this.right)) ||
((this.left >= bounds.left) && (this.left <= bounds.right))
);
var inRight = (
((bounds.right >= this.left) && (bounds.right <= this.right)) ||
((this.right >= bounds.left) && (this.right <= bounds.right))
);
intersects = ((inBottom || inTop) && (inLeft || inRight));
}
return intersects;
},
/**
* APIMethod: containsBounds
* Determine whether the target bounds is contained within this bounds.
*
* bounds - {<OpenLayers.Bounds>}
* partial - {Boolean} If true, only part of passed-in bounds needs be
* within this bounds. If false, the entire passed-in bounds must be
* within. Default is false
* inclusive - {Boolean} Whether or not to include the border. Default is
* bounds - {<OpenLayers.Bounds>} The target bounds.
* partial - {Boolean} If any of the target corners is within this bounds
* consider the bounds contained. Default is false. If true, the
* entire target bounds must be contained within this bounds.
* inclusive - {Boolean} Treat shared edges as contained. Default is
* true.
*
* Returns:
* {Boolean} The passed-in bounds object is contained within this bounds.
*/
containsBounds:function(bounds, partial, inclusive) {
//set defaults
if (partial == null) {
partial = false;
}
if (inclusive == null) {
inclusive = true;
}
var inLeft;
var inTop;
var inRight;
var inBottom;
var bottomLeft = this.contains(bounds.left, bounds.bottom, inclusive);
var bottomRight = this.contains(bounds.right, bounds.bottom, inclusive);
var topLeft = this.contains(bounds.left, bounds.top, inclusive);
var topRight = this.contains(bounds.right, bounds.top, inclusive);
if (inclusive) {
inLeft = (bounds.left >= this.left) && (bounds.left <= this.right);
inTop = (bounds.top >= this.bottom) && (bounds.top <= this.top);
inRight= (bounds.right >= this.left) && (bounds.right <= this.right);
inBottom = (bounds.bottom >= this.bottom) && (bounds.bottom <= this.top);
} else {
inLeft = (bounds.left > this.left) && (bounds.left < this.right);
inTop = (bounds.top > this.bottom) && (bounds.top < this.top);
inRight= (bounds.right > this.left) && (bounds.right < this.right);
inBottom = (bounds.bottom > this.bottom) && (bounds.bottom < this.top);
}
return (partial) ? (inTop || inBottom ) && (inLeft || inRight )
: (inTop && inLeft && inBottom && inRight);
return (partial) ? (bottomLeft || bottomRight || topLeft || topRight)
: (bottomLeft && bottomRight && topLeft && topRight);
},
/**
@@ -499,6 +525,8 @@ OpenLayers.Bounds = OpenLayers.Class({
* {<OpenLayers.Bounds>} Itself, for use in chaining operations.
*/
transform: function(source, dest) {
// clear cached center location
this.centerLonLat = null;
var ll = OpenLayers.Projection.transform(
{'x': this.left, 'y': this.bottom}, source, dest);
var lr = OpenLayers.Projection.transform(

View File

@@ -17,6 +17,8 @@
* To create a new OpenLayers-style class with multiple inheritance, use the
* following syntax:
* > var MyClass = OpenLayers.Class(Class1, Class2, prototype);
* Note that instanceof reflection will only reveil Class1 as superclass.
* Class2 ff are mixins.
*
*/
OpenLayers.Class = function() {
@@ -33,9 +35,25 @@ OpenLayers.Class = function() {
}
};
var extended = {};
var parent;
var parent, initialize;
for(var i=0, len=arguments.length; i<len; ++i) {
if(typeof arguments[i] == "function") {
// make the class passed as the first argument the superclass
if(i == 0 && len > 1) {
initialize = arguments[i].prototype.initialize;
// replace the initialize method with an empty function,
// because we do not want to create a real instance here
arguments[i].prototype.initialize = function() {};
// the line below makes sure that the new class has a
// superclass
extended = new arguments[i];
// restore the original initialize method
if(initialize === undefined) {
delete arguments[i].prototype.initialize;
} else {
arguments[i].prototype.initialize = initialize;
}
}
// get the prototype of the superclass
parent = arguments[i].prototype;
} else {

View File

@@ -2,6 +2,10 @@
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Console.js
*/
/**
* Class: OpenLayers.LonLat
* This class represents a longitude and latitude pair
@@ -33,8 +37,8 @@ OpenLayers.LonLat = OpenLayers.Class({
* it will be the y coordinate of the map location in your map units.
*/
initialize: function(lon, lat) {
this.lon = parseFloat(lon);
this.lat = parseFloat(lat);
this.lon = OpenLayers.Util.toFloat(lon);
this.lat = OpenLayers.Util.toFloat(lat);
},
/**

View File

@@ -2,6 +2,10 @@
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Console.js
*/
/**
* Class: OpenLayers.Pixel
* This class represents a screen coordinate, in x and y coordinates

View File

@@ -233,10 +233,10 @@ OpenLayers.Console = {
* If Firebug Lite is included (before this script), re-route all
* OpenLayers.Console calls to the console object.
*/
if(window.console) {
var scripts = document.getElementsByTagName("script");
for(var i=0, len=scripts.length; i<len; ++i) {
if(scripts[i].src.indexOf("firebug.js") != -1) {
var scripts = document.getElementsByTagName("script");
for(var i=0, len=scripts.length; i<len; ++i) {
if(scripts[i].src.indexOf("firebug.js") != -1) {
if(console) {
OpenLayers.Util.extend(OpenLayers.Console, console);
break;
}

View File

@@ -2,6 +2,10 @@
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Console.js
*/
/**
* Class: OpenLayers.Control
* Controls affect the display or behavior of the map. They allow everything
@@ -141,14 +145,14 @@ OpenLayers.Control = OpenLayers.Class({
* properties of this event depends on exactly what happened.
*
* All event objects have at least the following properties:
* - *object* {Object} A reference to control.events.object (a reference
* object - {Object} A reference to control.events.object (a reference
* to the control).
* - *element* {DOMElement} A reference to control.events.element (which
* element - {DOMElement} A reference to control.events.element (which
* will be null unless documented otherwise).
*
* Supported map event types:
* - *activate* Triggered when activated.
* - *deactivate* Triggered when deactivated.
* activate - Triggered when activated.
* deactivate - Triggered when deactivated.
*/
EVENT_TYPES: ["activate", "deactivate"],
@@ -300,6 +304,12 @@ OpenLayers.Control = OpenLayers.Class({
this.handler.activate();
}
this.active = true;
if(this.map) {
OpenLayers.Element.addClass(
this.map.viewPortDiv,
this.displayClass.replace(/ /g, "") + "Active"
);
}
this.events.triggerEvent("activate");
return true;
},
@@ -319,6 +329,12 @@ OpenLayers.Control = OpenLayers.Class({
this.handler.deactivate();
}
this.active = false;
if(this.map) {
OpenLayers.Element.removeClass(
this.map.viewPortDiv,
this.displayClass.replace(/ /g, "") + "Active"
);
}
this.events.triggerEvent("deactivate");
return true;
}

View File

@@ -9,7 +9,12 @@
/**
* Class: OpenLayers.Control.ArgParser
*
* The ArgParser control adds location bar querystring parsing functionality
* to an OpenLayers Map.
* When added to a Map control, on a page load/refresh, the Map will
* automatically take the href string and parse it for lon, lat, zoom, and
* layers information.
*
* Inherits from:
* - <OpenLayers.Control>
*/
@@ -37,6 +42,7 @@ OpenLayers.Control.ArgParser = OpenLayers.Class(OpenLayers.Control, {
* APIProperty: displayProjection
* {<OpenLayers.Projection>} Requires proj4js support.
* Projection used when reading the coordinates from the URL. This will
*
* reproject the map coordinates from the URL into the map's
* projection.
*

View File

@@ -8,8 +8,11 @@
/**
* Class: OpenLayers.Control.Attribution
* Add attribution from layers to the map display. Uses 'attribution' property
* of each layer.
* The attribution control adds attribution from layers to the map display.
* It uses 'attribution' property of each layer.
*
* Inherits from:
* - <OpenLayers.Control>
*/
OpenLayers.Control.Attribution =
OpenLayers.Class(OpenLayers.Control, {

View File

@@ -8,7 +8,8 @@
/**
* Class: OpenLayers.Control.Button
* A very simple button controlfor use with <OpenLayers.Control.Panel>.
* The Button control is a very simple push-button, for use with
* <OpenLayers.Control.Panel>.
* When clicked, the function trigger() is executed.
*
* Inherits from:
@@ -39,4 +40,4 @@ OpenLayers.Control.Button = OpenLayers.Class(OpenLayers.Control, {
trigger: function() {},
CLASS_NAME: "OpenLayers.Control.Button"
});
});

View File

@@ -11,8 +11,8 @@
/**
* Class: OpenLayers.Control.DragFeature
* Move a feature with a drag. Create a new control with the
* <OpenLayers.Control.DragFeature> constructor.
* The DragFeature control moves a feature with a drag of the mouse. Create a
* new control with the <OpenLayers.Control.DragFeature> constructor.
*
* Inherits From:
* - <OpenLayers.Control>
@@ -162,6 +162,9 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
this.feature = null;
this.dragging = false;
this.lastPixel = null;
OpenLayers.Element.removeClass(
this.map.viewPortDiv, this.displayClass + "Over"
);
return OpenLayers.Control.prototype.deactivate.apply(this, arguments);
},
@@ -178,8 +181,7 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
this.feature = feature;
this.handlers.drag.activate();
this.over = true;
// TBD replace with CSS classes
this.map.div.style.cursor = "move";
OpenLayers.Element.addClass(this.map.viewPortDiv, this.displayClass + "Over");
} else {
if(this.feature.id == feature.id) {
this.over = true;
@@ -220,8 +222,7 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
/**
* Method: upFeature
* Called when the drag handler detects a mouse-up. Also calls the
* optional onComplete method.
* Called when the drag handler detects a mouse-up.
*
* Parameters:
* pixel - {<OpenLayers.Pixel>} Location of the mouse event.
@@ -229,13 +230,6 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
upFeature: function(pixel) {
if(!this.over) {
this.handlers.drag.deactivate();
this.feature = null;
// TBD replace with CSS classes
this.map.div.style.cursor = "default";
} else {
// the drag handler itself resetted the cursor, so
// set it back to "move" here
this.map.div.style.cursor = "move";
}
},
@@ -262,8 +256,9 @@ OpenLayers.Control.DragFeature = OpenLayers.Class(OpenLayers.Control, {
if(!this.handlers.drag.dragging) {
this.over = false;
this.handlers.drag.deactivate();
// TBD replace with CSS classes
this.map.div.style.cursor = "default";
OpenLayers.Element.removeClass(
this.map.viewPortDiv, this.displayClass + "Over"
);
this.feature = null;
} else {
if(this.feature.id == feature.id) {

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