© Pedro Pereira Gonçalves
(pedro@inovagis.org)


JavaScript classes for creating Web Map clients and interfacing WMS servers according to OpenGIS Web Mapping Specification (versions 0.7 to 1.1).
The goal of this project is to enable the fast creation of web mapping clients using javascript. The target browsers are Internet Explorer (version 5.5 and up) and Netscape/Mozilla (7.00 and up) both for Windows, Mac and Linux.

Netscape 4.7 Compatible    Netscape 7 and 7.1 Compatible    Mozilla 1.4 Compatible   Mozilla Firebird 0.6.1 Compatible   Mozilla Camino 0.7 Compatible   Internet Explorer Compatible  

Author : Pedro Pereira Gonçalves (pedro@inovagis.org)
Version : 0.3
License : LGPL
Last Change : 2003-11-27
Discussion forum: quickwms.net available at the inovaGIS site.
Note: none
Browser Support: check support.htm

Examples:
  • single layer request example [view]
  • multiple layer request example [view]
  • multiple layer request with mouse events and toolbar example [view]
  • multiple layer request with mouse events and toolbar example with layers from DEMIS[view]
  • multiple layer request with error handling events [view]
  • multiple layer request with mouse events, toolbar and dynamic auxiliary map example [view]
External Examples:
  • Moskito WMS from Moskito GIS [view]
  • Dutch National Aerospace Laboratory (NLR) Remote Sensing Department [view]
  • GeoS@KDVZ - Computer centre for 52 cities in North Rhine-Westphalia (Germany) [view]

  • add your own ... (send me a email)

Documentation:
  • layerWMS : Image-type class that makes a single request and OGC WMS server with one or more layers.

  • mapWMS : Class containing an array of layerWMS and includes request information status, generic control functions and extented events.

  • quickWMS : Quick and full Web Map client (descendent of mapWMS) that accepts mouse events to zoom, selection and query.

  • navWMS : Class defining the auxiliary windows for map navigation (descendent of mapWMS) that links to a main mapWMS.


Download:
  • Entire packcage (with the javascript include files, documentation and examples) [quickWMS.zip 89Kb]
  • Just the Javascript include files [quickWMS.js.zip 32Kb]

Release Notes (version 0.3)
  • 2003-10-24: The loading of images can be direct to the browser using the directLoading parameter (this will not use the transportIMG internal variable) - also Bart Adriaanse suggestion
    By default is false in all browsers except in IE 6 (because this browsers will always recall the image even if it has an object in memory) Action: Accepted

  • 2003-07-02: Creation of an navigationWMS class for the navigation display of a main map.
    Action: Accepted

  • 2003-07-02: Bart Adriaanse from DEMIS proposed that the layerWMS function url() checks if the wmsUrl (base url or prefix according to point 6.2.5.1.1 on version 1.0.0 and point 6.2.2 on version 1.1.1) contains already the ? symbol and only adds this if not. In this case it also needs to check if it is necessary to add the & at the end.
    Action: Accepted for OGC WMS version 1.0.0 and up. In fact, OGC WMS version 1.1.1 states:
      The URL prefix shall end in either a '?' (in the absence of additional server-specific parameters) or a '&'. In practice, however, Clients should be prepared to add a necessary trailing '?' or '&' before appending the Operation parameters defined in this specification in order to construct a valid request URL.

Proposed Changes (to appear on version 0.4):
Post your suggestions and comments at the quickWMS forum available at the inovaGIS site.
  • 2003-08-20: Matthis Schurmann (from KDVZ) proposed the following updates:
    • Smooth Panning
      Action: Accepted. A new button bar is on developement with panning buttons (left, right, top and bootom and probably also the diagonals). Another option that should be considered is a panning tool with the mouse movement.

    • Active/Deactivate Layer
      Action: Accepted. This is already possible with the visible property of the layer. Nevertheless a specific example will be developed.

    • Scale Bar
      Action: In Consideration

    • Change the layer creation method by adding the opacity parameter (file:WMSlayer.js ; function: layerWMS)
      Action: In Consideration: I think that may be it is better that this function behaves in a dynamic way so that the user can choose (e.g. in a scrollbar) the opacity level. Nevertheless, I see no problem in adding this optinal parameter to the function

    • Make the wmsLayers and the format optional when building the url (file:WMSlayer.js ; function: url)
      Action: In Consideration: I think we shouldn't do that because they are required parameters.

    • Add the homeBBox in the quickWMS class to define the first BBOX (file:WMSquick.js ; function: quickWMS)
      Action: In Consideration: I think that there is no need for this function because the parent class (mapWMS) already has a equivalent property (initBBox).

    • Include a German version of the status text (file:WMSbrowsers.js;)
      Action: Accepted. We should probably define a lang parameter when creating the class.


  • 2003-07-02: Creation of an treeListWMS class for dealing a list of WMS servers, layers names and corresponding styles.
    Action: Accepted

  • 2003-07-02: Creation of an iconWMS class for dealing with the tools menu, icon maps, and layers list and their differents skins.
    Action: Accepted

  • 2003-07-02: Question - Should we drop the Netscape 4.7 support ?
    For this and other questions I think its beter to setup a discussion forum.
    Action: In Consideration. Please go to the quickWMS forum available at the inovaGIS site and post your opinion.

  • 2003-07-01: Bart van den Eijnden asks for the GetFeatureInfo support.
    Action: In Consideration. I think this is possible but only if the response format is simple text or text/html. From my experience is quite difficult to deal with xml in javascript across a wide range of browsers.