Technical documentation of Geoportal API

  • FR
  • UK

Index / Documentation / Technical documentation

Change log

2D Web Javascript API

31/03/2015 (2.1.2) :

  • Various bugfixes :
    • fixed LayerSwitcher display bug in IE introduced with 2.1.1 released.
    • when autoconf result is localy reused, jsonp parameters are not added to the file URL.
    • in https mode, tiles in 404 are replaced by nodata images (like in http mode).
    • reverse geocoding with circle or rectangle area : the geometry is ceiled to service limits (1000m wide by default) in order to have results.
    • css managed images for controls
    • style modification for measure display
    • flexUtils dependency removed from GeoportalExtended package
    • 3D : fixed geocoding based localisation bug
    • 3D : MNT layer is added by default
    • bugfix in min and max ratio handling for OverviewMap.
    • keybord handling improvement in Autocomplete control.
    • native EPSG:2154 resolutions handling.
    • Expires headers on js and css API files.

24/11/2014 (2.1.1) :

  • Geoportal Altimetric Service management :
  • Reverse geocoding improvement
    • SearchCenterDistance tag parsing in the OpenLS format.
    • smart resource (geonames, addresses or cadastral parcels) management by Geoportal.Control.ReverseGeocode.
  • LayerSwitcher improvements
    • two new methods : moveLayerUp et moveLayerDown.
    • new ids construction for layer subpanels.
  • Various bugfixes :
    • the LayerCatalog control displays only layers that are available with the initializing key.
    • various images and CSS fixes (especially for Wordpress compatibility).
    • API 3D : heading et tilt parameters handling.
    • WFS 1.1.0 correctly handled by the AddVectorLayer control.
    • upadte of french regions and departement bounding boxes from GEOFLA.
    • WFST v2 format uses Filter v2.

27/05/2014 (2.1.0) :

  • OpenLayers 2.12
  • Source organisation and compilation refactoring
    • api-js project is split into 3 new projects : api-js-libraries for API sources, api-js-examples for examples of use galery and api-js-techdocs for technical documentation.
    • Compilation process has been refactored to fit Geoportal 3 infrastructure thus making further deliveries more simple.
  • Minimal API redesign : it can now be loaded without OpenLayers first, but this one may still be loaded at first without being erased by minimal API.
  • 'geoportal3' theme becomes 'geoportal' (and thus the default one), this later being renamed 'legacy'.
  • Reverse geocoding is handled by the API (controls and parsing facilities).
  • Addition of PrintMapDOM control : the map to print is the result of a DOM copy of the initial map instead of a being another Geoportal map.
    • Vector layers is not operational for browser that use VML rendering engine (ie8 and 9).
    • Still experimental.
    • former PrintMapControl is still availaible
  • Backport of an OpenLayer 2.13 bugfix for ie10 (and 11) handling.
  • New design for the examples galery index page.
  • optimisation of pictograms display by using CSS sprites
  • change in territories handling

    With 2.0 releases, the default map is accessible on FXX territory at large scales and WLD territory at low scales.

    With 2.1.0 release, the default map is only accessible on FXX territory at all scales. On the other hand, the WLD territory is also accessible at all scales. Thus, one has to specify the WLD territory in the loader if one wants the navigation to be free on the whole world.

  • Various bugfixes.

26/02/2013 (2.0.3) :

  • Layer informations display refactoring
  • Location Utility Service refactoring
  • Tiled KML handling
  • Addition of a new "geoportal3" theme
  • Various bugfixes

15/10/2012 (2.0.2) :

  • BugFixes :
    • BugFix on area computing
    • GraphicScale is computed based on ground resolution
    • BugFix on Logo displaying according to zoom level

19/09/2012 (2.0.1) :

  • BugFixes :
    • Distances are computed on the ellipsoid
    • https : services called with https protocol when the page is in https
    • PrintMap : handling of url which begins whith '/'
  • Addition of transformation grids NTF - RGF93

09/07/2012 (2.0) :

Access to the infrastructure of the Geoportal 3:

  • Remplacement of the WMS-C by the WMTS
  • Support of the HTTPS
  • A new management of data's access rigths : http://wxs-ign-fr/key/context/service
  • A new display projection : spherical Web Mercator
  • Adding new controls: layer catalog, drawing toolbar,...
  • Access to new services: Auto-configuration, reverse geocoding, autocompletion,...
  • Use of the version 1.2 of OpenLs
  • Possiblity of making research by parcel identifier or geodesic sites through the geocoding service

20/02/2012 (1.3) :

  • Addition of OpenLayers.UI and Geoportal.UI classes to separate the controllers of their representation;
  • OpenLayers.Format.WMC is now part of the standard API as it will be used for loading contract's information in upcoming 2.0 release;
  • Addition of OpenLayers.Protocol.WFS.v2 in the extended API (still experimental);
  • Fixed settings of the grids in Geoportal.Layer.Grid;
  • Addition of Geoportal.Layer.WMTS class;
  • Bug fixed on analysis of capabilities and changes in WMTS getUrl() of Geoportal.Layer.WMTS to propagate information from the building. Addition of reading the tag TileMatrixSetLimits and fix for ows: WGS84BoundingBox when reading WMTS capabilities;
  • First support of WMTS in Geoportal.Control.AddImageLayer;
  • Bug fixed on analysis of capabilities WFS: the prefix typename was not stored and save the list of available SRS. Consideration of prefixes and namespaces in Geoportal.Control.AddVectorLayer. Bug fixed on the default style for WFS layers, the dot size was forgotten. Bug fixed on Geoportal.Control.AddVectorLayer and addition of the use of DescribeFeatureInfo for the field geometry when accessing WFS. Fixed URLs WFS Geoportal.Control.AddVectorLayer;
  • Added documentation of the GET KVP for OpenLS. Bug fixed in Geoportal.Layer.OpenLS.Core.LocationUtilityService in the case of GET requests: the options of the layer were crushed by those spent in building the query. Changing methods toString() and toHTMLString() of Geoportal.OLS.Address;
  • Added methods setCenterAtLocation() and setCenterAtGeolocation() on Geoportal.Map to position themselves on a place name or address or an IP;
  • Added methods setKeys() and getAllowedGeoportalLayers() on Geoportal.Catalogue;
  • Added method setKeys() on Geoportal.Viewer;
  • Added support of legends in the API's configuration;
  • Internationalization of labels associated with the legends of the layers;
  • Updating of proj4js: among others, use of the code official Google Mercator (EPSG: 3857).
  • Added support for `and `` characters in the analysis of sexagesimal degrees;
  • Removal of STEREOSX (not used) and UTM39ETRS89 (excluding grip Europe INSPIRE) coordinate reference systems. Correction of TERA50GEO into TERA50G;
  • Updating of the IGNF registry (after commit on PROJ.4);
  • Removal of calls to OpenLayers.Element.hide() and now deprecated;
  • Consideration of the ticket 3486 on OpenLayers.Protocol.Script;
  • Consideration of the ticket 3567 for OpenLayers 2.11 on the option of autoSize of OpenLayers.Popup;
  • Change of the interface of OpenLayers.Control.ZoomPanel xontrol to pass options to the sub-controls;
  • Change of the logo Geoportal and associated CSS (proposal);
  • Modification of styles associated with Geoportal.Control.PermanentLogo Geoportal.Control.TermsOfService;
  • Bugs fixed for using of all sections of the contract in the example geoportalMap_all;
  • Fixed for the example geoportalMap_basicViewer.html: support of OpenLayers.UI, preventing the minimization of Geoportal.Control.Information (control outsourced);
  • Addition of examples simple1.2 (theme), simple1.3 (callbacks) simple6.1 (GPX), simple6.2 (WMS), simple7 (external control) and simple8 (WFS);
  • Flash API : new application using 2.0 alpha release of flash API ;
  • Flash API : Addition of examples based on the new application : simple1 (simple integration), simple2 (KML data), simple2.1 (GPX data) and simple3 (Geocoding based centering);
  • Addition of the geoportalMap_wmts.html example;
  • Addition of an example mimicking the use of GoogleMaps API;
  • Addition of a first example on mobile : geoportalMap_mobile1.html;
  • Addition of a second example on mobile with JQueryMobile : geoportalMap_mobile2.html;
  • Updating of documentation on the API models :
    The old method of loading through the use of
    <script type="text/javascript" src=";key=KEY&amp;instance=VIEW&amp;"><!--//--><![CDATA[//><!-- //--><!]]></script>
    is deprecated from this version of the API.
    It is advisable to use either Geoportal.load or a "manual" charging of the API and switch to this version of the API. The oldest releases are no longer maintained.
    Look at Migration paths over there.
  • Known bugs :
    • PrintMap control is not working well under Chrome, IE and Safari (it is still an experimental control) ;
    • label's halo do not move accordingly when map is panned ;

28/02/2011 (1.2) :

  • Fixed bug when disabling the keyboard when activeOverMapOnly is false;
  • Fixed OpenLayers.Map.getObjectProjection.overload() and OpenLayers.Layer.getNativeProjection>() to mimic OpenLayers correctly;
  • Change signature of Geoportal.Control.LocationUtilityService.[Geocode | GeoNames].SetZoom(): the method expects a OpenLayers.Feature.Vector from the research process. Repercussion on Geoportal.Control.LocationUtilityService.GeoNames.setZoomForBDNyme();
  • Rename the callback onSelectAddress() by onSelectLocation();
  • Disabling of visibility management layers during loading process;
  • The floating windows are now resizable (Geoportal.Control.Floating);
  • Taking into account changes of the size of floating windows and results in Geoportal.Control.Form;
  • Taking into account the resultDiv property of Geoportal.Control.Form in subclasses;
  • Deactivating the test on the existence of an extension when importing vector files to allow import of webservices that return kml, gpx, osm, etc. ...
  • Added methods Geoportal.Viewer.(Get | set)Application();
  • Added Geoportal.GeoRMHandler.getConfig() module and its Geoportal.GeoRMHandler.getContract() callback;
  • Added methods Geoportal.GeoRMHandler.getServicesCapabilities() callback and associated Geoportal.GeoRMHandler.getCapabilities() and other minor corrections;
  • Added TimeStamp read / when and TimeSpan / (begin | end) on KML;
  • Added EPSG codes: 4467, 4471, 4474, 4559 to RGSPM06 / UTM zone 21N, RGM04 / UTM zone 38S, Cadastre 1997 / UTM zone 38S, RRAF 1991 / UTM zone 20N;
  • The Geoportal.Layer.Aggregate class now transmits their zooms to aggregated layers who, now, may belong to only one group. Simplification of the management of the visibility of aggregated layers;
  • Support of OpenLayers.Popup classes in popups creation callback via the new property popupClass;
  • Add refined search on the addresses in a cntrl-alt-clicking for result of type 'city';
  • Fixed bug in the display of search results per address: cloning of the result object to not empty the stack of objects in several consecutive cntrl-click;
  • Font sizes of headings back to 0.8em in Geoportal.Control.Floating because of IE8 under W$ vista, but increase of the sizes of labels and input fields and diminution of the size of the input fields;
  • Changing the example geoportalMap_localise.html : IPinfoDB and services are used in GeoNames JSON;
  • Added basic test-token-uncompressed.html to test the API without using the servlet API (reading with getConfig and recoverying with getContract);
  • Fixed bug on geoportalMap_overview.html: adding a timer on the calls Geoportal.Control.Information.showControls() and Geoportal.Control.Information.toggleControls() to wait until the map is ready;
  • Adding examples geoportalMap_simple1.html, geoportalMap_simple2.html, geoportalMap_comparator.html and geoportalMap_ignRGE.html;
  • Fixed bug for IE7 and the unsupported labelBorderColor and labelBorderSize property;
  • Documentation is in developer mode by default;
  • Update of online documentation;
  • Update of Mediawiki and Joomla components;

17/01/2011 (1.2) :

  • Replacement of OpenLayers 2.9.1 by OpenLayers 2.10; Use of (OpenLayers 2.10 regression);
  • Ticket 2933 applied to load API in HTML5 compatible browsers;
  • Modification of the singleFile mechanism to prevent compressed/compacted API to have all javascript scripts name embedded in (apparently ready for OpenLayers 2.11);
  • Addition of coastal maps, topographical maps, Cassini maps and RPG 2007, 2008 and 2009. Deactivation of Cassini maps and Corine Land Cover. Updates of layers' zooms;
  • Update of Geoportal.VERSION_NUMBER : the string is now built as INF;DATE with INF equals to "Geoportal APIVersion APIType";
  • Update of Geoportal.Viewer.Default and Geoportal.Viewer.Standard to allow Geoportal.Control.Information to be shown/hidden/minimized; updates of CSS;
  • Addition of controlvisibilitychanged event on OpenLayers.Map and use of it in Geoportal.Control.PermanentLogo, Geoportal.Control.Logo and Geoportal.Control.TermsOfService controls;
  • Addition of controldeleted event on OpenLayers.Map and use of it in Geoportal.Control.Projections, Geoportal.Control.Form and Geoportal.Control.MousePosition controls;
  • Addition of OpenLayers.Map.getApproxScaleDenominator() as a replacement for OpenLayers.Map.getScale();
  • Addition of Geoportal.Control.SliderBase.displayInfo() callback for mouseover event;
  • mapmouseover and mapmouseout events are now listened by Geoportal.Control.LayerSwitcher, Geoportal.Control.Floating, Geoportal.Control.ToolBox; Addition of Geoportal.Control.mapMouseOut() and Geoportal.Control.mapMouseOver() global methods to trigger mapmouseover and mapmouseout events;
  • OpenLayers.Protocol.Response now listen to visibilitychanged to stop loading for OpenLayers.Strategy.BBOX, OpenLayers.Strategy.Fixed strategies;
  • Update of PROJ4JS along with the IGNF catalogue that now includes INSPIRE's coordinates reference systems. Addition of +axis= option in PROJ4JS (patch sent to project);
  • Refactoring of KML, GPX, OSM, GeoRSS, GML and WFS streams by using OpenLayers.Strategies and OpenLayers.Protocol (looking forward to OpenLayers 3.0);
  • preventDefaultBehavior option of Geoportal.Map constructor can be now an object for sub-options;
  • Geoportal.Control.Logo control now supports logo's extent;
  • Geoportal.Control.Loading control now supports Geoportal.Layer.Aggregate;
  • logoSize option support added when creating a Geoportal.Viewer ;
  • Geoportal.Control.LayerSwitcher control now handles description, legends, dataURL and metadataURL layer's properties as array. Updates of Geoportal.Control.AddVectorLayer and Geoportal.Control.AddImageLayer accordingly;
  • Geoportal.Control.AddImageLayer control now recognizes Geoportal's layer;
  • Relocation of the onload code into the examples body instead of their header;
  • Restriction of "compatible" coordinate projection systems to only plate-carre and cylindrical equidistant systems;
  • Restriction of Geoportal's WMS to only legal projections;
  • Bug fix in Geoportal.Popup.setPointerCursorForFeature() : styles are now cloned to prevent default styles overwrittings;
  • Bug fix on coordinates fields width in Geoportal.Control.MousePosition;
  • Bug fix on OpenLayers.Renderer.*.setExtent() when the passed extent is null;
  • IE6 style are now put in a separated CSS file;

22/11/2010 (1.0, 1.1) :

  • Addition of center and zoom parameters in the Flex API examples;
  • skipAttributes option added to vector's layer for mananging popup's content (extension of current support);
  • Bug fix on resolutions computation for Geoportal.Layer.Grid : addition of a test on resolutions bounds;
  • Bug fix on minimum and maximum zooms and resolutions array when adding a WMS-C service;
  • Regression bug fix for OpenLayers.Control.WMSGetFeatureInfo.buildWMSOptions(), impacting 1.1 API (the sent CRS was the map's one instead of the layers' one);
  • Typo fix in the standard API : "OpenLayers.Protocol" instead of "OpenLayers.Protocole" (therefore some OpenLayers classes were missing);
  • Removal of map's right click disability : too many problems with IE;
  • Bug fix when closing popups for multi-layers controls;

18/10/2010 (1.1) :

  • Creation of minimum, standard and extended API headers : GeoportalMin.js, GeoportalStandard.js and Geoportal.js;
  • Enhancement of Geoportal.Control.Logo control : attribution property is now taken into account;
  • Addition of OpenLayers._document private property (with associated OpenLayers.getDoc() and OpenLayers.setDoc()) to add the current working document awareness. Update of all classes that use directly document;
  • Addition of Geoportal.Control.PrintMap, Geoportal.Control.CSW and Geoportal.Control.PageManager controls;
  • Prise en compte de la date de publication et de l'auteur dans les popup par défaut associées aux fils GeoRSS;
  • Update of PROJ4JS to 1.0.2 release;
  • Update of IGNF catalogue in PROJ4JS to include RGTAAF07 CRSes. Renaming of IGNF:TERA50GEO into IGNF:TERA50G. Removal of IGNF:TERA50STPA;
  • Addition of geoportalMap_georss.html example;
  • Addition of virtual style support in geportalAlert.html;
  • Patch 2820 is applied on OpenLayers.Control.Measure;
  • Complete refractoring of Geoportal.Format.GPX, versions 1.0 and 1.1 are now supported;
  • Addition of "black" and "covisu" styles and fixes of theme handling;
  • Addition of Geoportal.Control.Form.buildRadioFields() and various optimization for Geoportal.Control.Form;
  • Addtion of shoreline ortho-imagery in Geoportal.Catalogue;
  • Support of OpenLayers.Request.abort() for Geoportal.Control.LocationUtilityService, Geoportal.Control.AddVectorLayer, Geoportal.Control.AddImageLayer controls;
  • Activation of the "postal code" input field in OpenLS control;
  • Bug fixes on Geoportal.Map : refactoring of options.formatOptions, checks of already loaded controls, i18n now works for OpenLayers.Layer, popup support for OpenLayers.Layer.Markers;
  • Enhancement of map's div load (Geoportal.Viewer.Default and Geoportal.Viewer.Standard);
  • Bug fix on geoportalMap_providers.html (due to port to OpenLayers 2.9.1);
  • API servlet now handle several keys and instances;

02/08/2010 (1.1) :

  • Replacement of OpenLayers 2.8 by OpenLayers 2.9.1.

02/08/2010 (1.0) :

  • Shifting of OpenLayers.Tile from standard API to minimum API due to GeoRM handling;
  • Addition of OpenLayers.Control.ArgParser, OpenLayers.Control.Attribution, OpenLayers.Control.PanZoom to be conform with OpenLayers.Map;
  • Addition of CSS rules for olControlDragPanItemActive, olControlDragPanItemInactive, olControlZoomOutItemActive, olControlZoomOutItemInactive;
  • The total number of coordinate reference systems checked during loading of WMS capabilities for Geoportal.Control.AddImageLayer is now an option of the control;
  • Code factorisation between Geoportal.Viewer.Default and Geoportal.Viewer.Standard into Geoportal.Viewer;
  • Enhancement of Geoportal.Map.addLayer() when loading OpenLayers.Layer.GeoRSS layer, and default styling added;
  • Addition of Geoportal.Map.setCursor(), removal of the CSS rule and use of this method to set the 'crosshair' to the map's div;
  • Bug fix on Geoportal.Layer.OpenLS.Core.LocationUtility.GEOCODE() and Geoportal.Layer.OpenLS.Core.LocationUtility.REVERSE_GEOCODE() by cloning of parameters to protect from their deletion;
  • Bug fix on Geoportal.GeoRMHandler when sharing API key with listeners;
  • Bug fix on Geoportal.Control.LayerSwitcher for IE (events releasing);
  • Bug fix on Geoportal.Viewer.Default for IE (empty row removal);
  • Bug fix on OpenLayers.Renderer.VML for labels (OpenLayers 2.9);
  • Bug fix on OpenLayers.Layer.setOpacity() for OpenLayers.Layer.Vector based layers;
  • Bug fix service type WFS in Geoportal.Control.AddVectorLayer;
  • Bug fix on Geoportal.Control.MeasureToolbar for IE with the removal of a trailing comma;
  • Addition of Amsterdam and Saint-Paul islands and Terre Adélie territories, along with the relevant CRS;
  • Geoportal.Control.Logo is now part of the Geoportal's minimum API;
  • GeoRM informations are now stored at the map's catalogue level and not at the map itself;
  • Territories names are now translated (territory's code as key for translation). The geoportalMap_all.html example is updated accordingly;
  • and are now updated;
  • Complex examples (geoportalAddressForm.html, geoportalAlert.html, geoportalGeocoder.html, geoportalXYForm.html) reviewed because of IE;
  • Documentation update for non support of HTTPS protocol.

21/06/2010 (1.0) :

  • Bug fix on OpenLayers.Format.WFST.v1.getSrsName() : externalProjection property is now used when defined;
  • gpControlInformation CSS rule amended to prevent wrong computation of the element's width;
  • OpenLayers.Util.onImageLoadError() makes use of OpenLayers.Util.onImageLoadErrorColor when the image's source is neither from OSM, nor from Geoportal services;
  • Update on the OpenLayers.Request.XMLHttpRequest from OpenLayers' trunk;
  • Consideration of changes to the trunk PROJ4JS (somerc);
  • Bug fixes on OpenLayers.Format.GML.Base when reprojecting BBOX of read objects;
  • Improvements for supporting multiple input features;
  • Taking into account OpenLayers.Control.GetFeature from OpenLayers 2.9;
  • Bug fixes in OpenLayers.Control.GetFeature when reprojecting BBOX;
  • Added support for polygons in requests OpenLayers.Control.GetFeature;
  • Consideration of maps in very large scales (1:4000 to 1:1000) in the territories;
  • Fixed engine change for BaseLayer Geoportal.Control.ZoomSlider for Geoportal.Control.ZoomBar (zooms are always 22 in number), functions default Geoportal.Control.SliderBase (the zooms return null and not -1 in the generic functions);
  • Bug fix on Geoportal.Control.Form: reactivation of the keyboard when you close form;
  • Bug fix in creating layers Geoportal.Map.addLayer: passed options passed to apply last not be overwritten by default values;
  • The content of Geoportal.Popup.Anchored is now based on name, description and extended attributes;
  • Bug fix on Geoportal.Layer.Aggregate when changing zoom and BaseLayer;
  • Added option useDefaultBaseLayers to disable the creation of default baseLayers Geoportal Geoportal.Viewer;
  • Bug fix on the method Geoportal.Viewer.addSphericalMercatorBaseLayer() and adding the method Geoportal.Viewer.addPlateCarreBaseLayer();
  • Bug fix on the option global when calling Geoportal.Viewer.addGeoportalLayer();
  • Verification of file extensions in Geoportal.Control.AddVectorLayer and type of service in Geoportal.Control.AddVectorLayer (WFS) and Geoportal.Control.AddImageLayer (WMS);
  • Bug fix on creation of territories SBA and SMA;
  • Cleaning of Geoportal.Control.LayerSwitcher zIndex handling;
  • Added option attachDefaultPopup for vector layers directly loaded via Geoportal.Map.addLayer() to add, in conjunction with the option preventDefaultBehavior, popups automatically;
  • Fixed disabling of control Geoportal.Control.Measure: targetElement is reset if necessary. Geoportal.Control.Measure.Azimuth opens a panel results (distance and angle). Redesign of Geoportal.Control.MeasureToolbar to facilitate overloadings by users. Adding style gpControlMeasureAzimuthAzimuthInput;
  • Bug fixes on codes of PHP / Perl proxies;
  • Enhancement of documentation for RIG codes for scattered islands ("Îles éparses" in French);
  • Fixed explanations related to GeoRM;
  • Fix broken links in the documentation;
  • Removal of OpenLayers.Control.Measure from the standard API (now in extended API);
  • Removal of OpenLayers.Control.MousePosition from the extended API (now in standard API);
  • Fix for OpenLayers.Control.OverviewMap inclusion in the standard API instead of extended API;
  • License's date update, addition of XmlHttpRequest.js license, addition of a link for downloading API sources into the license text;
  • Fix for gpControlMeasureToolbarResult CSS rule to adapt height to its content. Addtion of gpControlMeasureAzimuthAzimuthInput rule;
  • Inclusion of and tickets into OpenLayers.Control.Measure;
  • Updating of XmlHttpRequest in version 1.0.3 (;
  • Addition of mapmouseover and mapmouseout events (based on;
  • Handling of mapmouseover et mapmouseout by OpenLayers.Control.KeyboardDefault (activeOverMapOnly property), OpenLayers.Map (mapmouseEventsEnable property on Geoportal.Viewer);
  • Addition of OpenLayers.Control.Click : one has just to overwrite onClick(e) ou onDblClick(e) methods to play with;
  • Bug fix on addFeatures() methods of OpenLayers.Layer.Vector and OpenLayers.Layers.GML when extractFolder property is true;
  • Overwritting of getDataExtent() of OpenLayers.Layers.GML in order to take into account geometryless objects;
  • Redesign of measurements handling (Geoportal.Control.MeasureToolbar, Geoportal.Control.Measure.Azimuth) to facilitate users' overwrite. Geoportal.Control.Measure.Azimuth nown displays results in a window with the distance and the angle;
  • Slight enhancement of Geoportal.Control.Floating;
  • Bug fix of Geoportal.OLS.Address for toString() et toHTML() methods;
  • API viewers now activate mapmouseEventsEnabled and activeOverMapOnly options for managing mapmouseover et mapmouseout events;
  • Bug fix on Geoportal.Viewer.Default et Geoportal.Viewer.Standard when deleting controls;
  • Removal of keyboard management due to mapmouseover et mapmouseout events in the examples;
  • API versionning now incorporate at publication date;
  • Many bug fixes for IE when closing pages containing the API;

07/04/2010 (1.0) :

  • "Copyright 2008" replaced by "Copyright (c) 2008-2010" in all source code;
  • Bug fix on display projections when a UTM projection is the first on the list of display projections;
  • Removal of htc files from CSS;
  • Bug fix on tooltips under FF: mousemove event not anymore blocked by Geoportal.Control.LayerSwitcher and Geoportal.Control.ToolBox;
  • CSS : buttons styles generalized;
  • Addition of "cache polution" when replaying a request after a 404 status response;
  • Postal code reactivated when searching by address (whilst not used);
  • Addition of decimal degree to grade transformation;
  • Support of format string when transforming decimal degree into sexagecimal degree;
  • Bug fix on OpenLayers.Layer.Vector.getDataExtent();
  • Geoportal.Control.Panel controls : more in line with OpenLayers;
  • Bug fix on Geoportal.Control.PanelToggle : support of actived/deactivated control through CSS;
  • Removal of Geoportal.Control.MeasureToolbar from standard API (feedback from the API's forum);
  • Multi-langages support added to Geoportal.Control.MeasureToolbox;
  • Addition of Geoportal.Control.Measure.Azimuth, following works from ENSG's students;
  • Bug fix on Geoportal.Viewer.Default.setInformationPanelVisibility() : when false, a former modification of the code disabled this case;
  • Bug on fix Geoportal.Viewer.* : infoCntrl was null when calling setSize();
  • Addition of OpenLayers.Format.DescribeLayer and OpenLayers.Format.GetFeatureInfo to the standard API;
  • Support of OpenLayers.Control.GetFeatureInfo through Geoportal.Control.AddImageLayer when adding a layer;
  • Bug fox on OpenLayers.Control.GetFeatureInfo.request()) method: the map's CRS was always used instead of the first layer's CRS, only visible and in range layers are checked, empty response are not parsed;
  • Bug fix on WFS GetFeature response for null value fields;
  • Integration of bug fix 2563 (OL 2.9 RC2) for "labelAlign with one character can not works on IE";
  • Deactivation of OSM WMS-C in WGS84 geographic example : service down.

06/03/2010 (1.0) :

  • Label boxes of Geoportal.Control.LayerSwitcher, Geoportal.Control.ToolBox and Geoportal.Control.Floating open / close their control (click or double-click);
  • Close button of Geoportal.Control.Floating controls is now CSS driven. CSS classes are gpControlFloatingHeadBtnsClose;
  • Addition of ANF territory as an agregation of GLP, MTQ, SBA and SMA;
  • Removal of various controls when building a Geoportal.Viewer.Default viewer in "mini" mode;
  • Addition of Geoportal.Map.zoomToLonLatExtent();
  • Enhancement of Geoportal.Control.Floating.addContent() when calculating final size of popup;
  • Addition of renderIntent property when creating popups through Geoportal.Map.addLayer() to allow better highlight controls. Addition of an example showing both highlight/click on KML;
  • Addition of Geoportal.Map.beforeOnBeforeMove() and Geoportal.Map.afterOnBeforeMove() API properties. They are called at the very beginning / end of the catching of "beforemove" event. Do nothing by default;
  • Addition of OpenLayers.Layer.onLoadError() API property to let the developper manages the load error;
  • Addition of OpenLayers.Strategy classes in the standard API;
  • Addition of Lambert conformal and equivalent projections for the European zone as well as rhe laea algorithm from PROJ4JS;
  • Removal of line-feeds for production Javascripts;
  • Remplacement of CLASS_NAME comparisons by instanceof operator;
  • Opacity is now managed through events in the layers' manager (Geoportal.Control.LayerSwitcher);
  • Geoportal.Control.PermanentLogo now listen to "changebaselayer" event and checks for Geoportal's layers;
  • Addition of events "tokenupdatestart", "tokenupdateend" and "tokenloaded", and of onTokenLoaded() property for the GeoRM token handler (Geoportal.GeoRMHandler.Updater);
  • Modification on testing "loadstart", "move" and "moveend" events triggering in order to check the callback returned value (on all OpenLayers.Layer classes);
  • Modification on testing "reload" event triggering in order to check the callback returned value (OpenLayers.Tile.WFS and OpenLayers.Tile.WFS classes);
  • "changebaselayer" event is now spread on all OpenLayers.Layer and Geoportal.Layer classes instead of being only hanlde in Geoportal.Map;
  • Addition of event "beforemove" in OpenLayers.Map.moveTo() and its interception in Geoportal.Map (tickets 2359 / 2360);
  • Addition of a method to add a baseLayer based on Spherical Mercator projection;
  • Optimisation of OpenLayers.Projection.transform() method by using arrays and taking into account the bounds property of OpenLayers.Geometry classes (50% improvement in computations);
  • Addition of patch 2317 (OpenLayers.Strategy.Refresh) for layer automatic refresh;
  • Spherical mercator aliases (EPSG:3785, EPSG:3857, EPSG:900913, EPSG:102113) are now taken into account;
  • Addition of a cache on OpenLayers.Projection objects to store aliases to speed-u comparison tests;
  • Addition of tickets 2148, 2312 and 2349 for label selection through labelSelect property, positionning through labelXOffset and labelYOffset properties, background color and border through labelBackgroundColor, labelBorderColor, labelBorderSize and LabelPadding properties;
  • layerLimit property for 1.3.0 WMS is now taken in account;
  • Modification of OpenLayers.Map.setBaseLayer() method in order to raise the "changebaselayer" event before calling OpenLayers.Map.setCenter();
  • Addition of OpenLayers.Control.Graticule and OpenLayers.Util.getFormattedLonLat(). The "changelang" event is also cought;
  • Update of PROJ4JS (;
  • Addition of tests for multi-providers;
  • Improvement of map's minimum and maximum zoom levels handling when activating/desactivating layer;
  • Removal of automatic centering of the map :
    1 :
    developpers must either add a setCenter() or zoomToExtent() call to their pages;
  • Refactoring of Geoportal.Format.GPX to prepare GPX 1.1;
  • Addition of read support to Geoportal.Format.Geoconcept and Geoportal.Layer.GXT based on contributions from Jean-Marc Viglino (IGNF);
  • Addition of examples using Yahoo! User Interface and MapFish;
  • Inclusion of Geoportal.Lang into the minimum API for getting both Geoportal.Lang.add() method and Geoportal's translations;
  • Update of PROJ4JS to 1.0 that includes IGN's updates;
  • Removal of all methods in Geoportal.Util linked with DOM Element size computation. The API relies now completly on the web designer;
  • Addition of ticket 2195 (Support of Folder) to OpenLayers.Format.KML;
  • Addition of OpenLayers.Layers.WFS to Geoportal.Control.AddVectorLayer. Update of OpenLayers.Format.WFSCapabilities to support tickets 1176/2245 and IGNF's contribution (WMS 1.3.0 and WFS 1.1.0);
  • Addition of Geoportal.Control.Loading control and insertion of it into Geoportal.Control.LayerSwitcher. Updates of all tests and examples that used OpenLayers.Control.LoadingPanel. Refactoring of OpenLayers.Control.LoadingPanel to inherit from Geoportal.Control.Loading;
  • Addition of Geoportal.Control.Form.buildImageButton() and mandatory flag to change the label of input fields;
  • Addition of Geoportal.Control.AddImageLayer to insert WMS or WMS-C layers. Update of OpenLayers.Format.WMSCapabilities to support ticket 2164, OpenLayers trunk and VendorSpecificCapabilities for OSGeO's WMS-C recommandation (IGNF's contribution);
  • Enhancement of OpenLayers.Layer.calculateInRange() method to take into account the maximum extent of layers with regard to current view extent;
  • Addition of grades and radians for geographic coordinates display. Sexagecimal degrees are not anymore default unit (decimal degrees instead). Coordinates can now be directly changed by hands (re-center the map);
  • Change of the font-size and text-align for projections and mouse positions controls;
  • Addition of UTM projections for Geoportal.Control.MousePosition (based on a contribution of gfilliere);
  • Removal of donut polygons edition support, not ported in OpenLayers 2.8;
  • Extension of OpenLayers.Format.KML from 2.8 release into the Géoportail API in order to add support of other ExtendedData tags; THE FOLLOWING METHODS MUST BE MODIFIED :
    1 :
    Remplace Geoportal.Popup.Anchored.setPointerCursorForFeature with Geoportal.Popup.setPointerCursorForFeature;
    2 :
    Remplace Geoportal.Map.getKMLDefaults with Geoportal.Map.getPopupDefaults ;
    3 :
    Geoportal.Util.getElementRenderedDimensions has been removed, depending upon the context, use either OpenLayers.Util.getRenderedDimensions or Geoportal.Util.getComputedStyle, or remove the call !
    4 :
    Geoportal.Util.getBorders() has been removed, use Geoportal.Util.getComputedStyle with the following properties border-left-width, border-right-width, border-top-width and border-bottom-width ;
    5 :
    Remplace Geoportal.Util.getElementGuessedDimensions with OpenLayers.Util.getRenderedDimensions ;
    6 :
    Geoportal.Util.isDocumentReady has been removed.
  • Replacement of OpenLayers 2.7 by OpenLayers 2.8;
  • Writing polygons, multi-polygons, multi-linestrings and multi-points added to Geoportal.Format.GPX;
  • Geoportal.Control.AddVectorLayer : removal of "Free-hand ?" checkbox when no linear or polygonal layer is in use, removal of "URL" input when no KML/GPX layer is in use. Refactoring of various options that now depend upon the layer's type. Zoom to KML, GPX and OSM layer's extent;
  • Addition of Geoportal.Control.ToolBox.createControlAnchor() for easing insertion of controls into the toolbox;
  • Only the current territory and the world territory are now loaded, speeding up the overall loading of web pages;
  • Addition of OpenLayers.Popup.Framed popups family into the standard API;
  • Mouse now changes to 'pointer' when hovering objects created from KML/GPX/OSM format data;
  • Use of panMapIfOutOfView property from OpenLayers.Popup by Geoportal.Popup.Anchored in order not to always re-center the popup. The Geoportal API default behavior remains unchanged : automatic re-centering.
  • Bug fixes :
    • CSS rules behavior and cursor changed for IE : the url() is relative to the web page, not to the CSS file;
    • Addition of Cadastral parcels on Guadeloupe, Martinique and Reunion islands;
    • Geoportal.Map.render() now behaves correctly;
    • better integration of OpenLayers.Control.SelectFeature for highlight/unlighlight functions when several controls apply on the same feature;
    • gpPopupContent style now inherits background-color from its parent gpPopup;
    • Layer's name length displayed in the layers switched fixed (case when no scroll);
    • use of OpenLayers' trunk to fix a bug on OpenLayers.Map.updateSize();
    • fix on displayProjection property handling when changing baseLayer (Geoportal.Control.MousePosition and Geoportal.Control.Projections);
    • fix on managing synchronisation of visibilities on "changelayer" event raising;
    • fix on setTimeout() memory leaks by freeing timers;
    • fix on calling Geoportal.Viewer.setSize() method when modifying the map's size;
    • OpenLayers patches (changeset/9759, 9763) on memory leaks for IE version lower than 8 applied;
    • fix when calculating Geoportal.Viewer.Standard map size;
    • fix on polygons writing in Geoportal.Format.Geoconcept, contribution from Jean-Marc Viglino (IGNF);
    • fix on OpenLayers.Control.OverviewMap when control is outside viewport;
    • addition of key code 54 for some french keyboard laptops with -/6 key in OpenLayers.Control.KeyboardDefaults;
    • % or em styles for the map's div are now processed;
    • Memory leak fix on Geoportal.Control.LayerSwitcher, appearing on unloading page;
    • Bug fix on Geoportal.Control.Form.changeLang() for labels;
    • Bug fix for : use of IO::Uncompress::Gunzip instead of IO::Uncompress:Unzip when Content-Encoding: gzip HTTP header is encountered. Updates of download directory;
    • Bug fix for opera (tested on 9.64) : removal of arguments.callee.caller;
    • Bug fix on various destroy() methods;
    • Bug fix on OpenLayers 2.8 BalloonStyle tag interpretation for KML;
    • Bug fix on Proj4js.loadScript() when the CRS definition is missing;
    • Port of style objects algorithms for IE8 (reported bug on width/height map size computation);
    • Bug fix on Geoportal.Viewer.*.setSize() when still under the onload event;
    • IE8 compatibility mode fix using the meta tag as defined there for the previous API release (1.0beta4 and down);
    • Fix for both "$[]" interpretation when BalloonStyle element uses that construct as OpenLayers transform them into "${}", and replaced by as OpenLayers saves BalloonStyle content there. ExtendedData are now taken into account when interpreting styles ('displayName' is not yet supported);
  • Documentation :
    • Lots of typo fixes ;
    • Geoportal.Control.Logo documentation enhancements;
    • Addition of OpenStreetMap (JSOM) documentation and examples related to OpenStreetMap layers;
    • Addition of Tiles WMS example;
    • Support of projections change in the Geoportal Alert example.

12/05/2009 (1.0beta4) :

  • Enhancement of map div size computation where the width or height is expressed in relative unit (%, em, pt) ;
  • Bug fixes :
    • Cartesian coordinate display bug fix in Geoportal.Control.MousePosition.displayEN ;
  • Documentation :
    • API code source archive put on-line.

06/05/2009 (1.0beta4) :

  • Creation of minimum, standard and extended APIs :
    • Minimum : gives access to Geoportal's layers without having to download the whole API's GUI ;
    • Standard : gives access to the Geoportal's layers, to KML and GPX files loading and to WMS access ;
    • Extended : gives access to the full capabilities of both Geoportal's and OpenLayers API.
  • Support of compressed API when Accept-Encoding: gzip HTTP header is sent by browser ;
  • Addition of Geoportal.Layer.Aggregate class for assembling layers ;
  • Addition of Geoportal.Control.Floating for control dragging ;
  • Sexagecimal to Decimal convertions support ;
  • Sexagecimal degrees support for Geoportal.Map.setCenterAtLonLat() method ;
  • Primary support for OpenLS LocationUtilityService format (read/write);
  • Addition of Geoportal.OLS classes for Geoportal.Format.XLS parsing ;
  • Use of the overloaded method OpenLayers.i18n() instead of the overloading method Geoportal.i18n() ;
  • Removing of the following globals and functions of the OpenLayers.Ajax namespace into the OpenLayers.Request.XMLHttpRequest namespace :
    • PARSED_OK ;
    • getParseErrorText() ;
    • getText().
  • Geoportal.Map is now an OpenLayers.Map. Two classes have been introduced :
    • Geoportal.Viewer : base class for Geoportal viewer ;
    • Geoportal.Viewer.Default : default implementation for the Geoportal viewer ;
    • Geoportal.Viewer.Standard : a looking-like Geoportal viewer ;
      1 :
      Change < into ;
      2 :
      Replace INSTANCE.addControl by INSTANCE.getMap().addControl ;
      3 :
      INSTANCE.addGeoportalLayer() has now a void return ;
      4 :
      Replace INSTANCE.addGeoportalLayers(INSTANCE.allowedGeoportalLayers) by INSTANCE.addGeoportalLayers() ;
      5 :
      Replace INSTANCE.addLayers by INSTANCE.getMap().addLayers ;
      6 :
      Replace INSTANCE.addLayer by INSTANCE.getMap().addLayer ;
      7 :
      Replace INSTANCE.addPopup by INSTANCE.getMap().addPopup ;
      8 :
      Replace INSTANCE.allowedGeoportalLayers by INSTANCE.getMap().allowedGeoportalLayers ;
      9 :
      Replace INSTANCE.getDisplayProjection by INSTANCE.getMap().getDisplayProjection ;
      10 :
      Replace INSTANCE.getPopupDefaults by INSTANCE.getMap().getPopupDefaults ;
      11 :
      Replace INSTANCE.getProjection by INSTANCE.getMap().getProjection ;
      12 :
      Replace INSTANCE.removePopup by INSTANCE.getMap().removePopup ;
      13 :
      Replace INSTANCE.setCenterAtLonLat by INSTANCE.getMap().setCenterAtLonLat ;
      14 :
      Replace INSTANCE.setCenter by INSTANCE.getMap().setCenter ;
      15 :
      Replace INSTANCE.setLocale by INSTANCE.getMap().setLocale.
  • Default viewer name changed from map to geoportalViewer ;
  • Re-factoring of Geoportal.Control.Information : creation of Geoportal.Control.Projections, Geoportal.Control.MousePosition and Geoportal.Control.Copyright ;
  • Addition of display projection unit change ;
  • Changing of Geoportal.Control.AddLayerToolbar into Geoportal.Control.LayerToolbar and replacing of CSS styles accordingly ;
  • Changing of method Geoportal.Map.setCenter into Geoportal.Map.setLonLatCenter and reversely to be compliant with OpenLayers.Map.setCenter ;
  • Addition of Geoportal.Control.Form for HTML form building and monitoring ;
  • Addition of Geoportal.Control.MeasureToolbar for distances and areas measurements ;
  • Addition of OpenLayers.Control.LoadingPanel (OpenLayers' addin) ;
  • Changing of method Geoportal.Catalogue.getDisplayProjection() into Geoportal.Catalogue.getDisplayProjections(). It now returns an array of spatial reference systems OpenLayers.Projection ;
  • Addition of the following items in read/write mode OpenLayers.Format.WMC : resolutions, nativeResolutions, nativeProjection, maxZoomLevel, minZoomLevel, SRS on layer and parametrization of the use of Server's service ;
  • Replacement of the last $() calls with OpenLayers.Util.getElement() causing bugs when loading the API under SPIP (backported to 1.0beta3) ;
  • Addition of donut polygons support via donut polygons ;
  • Bug fixes :
    • Workaround for an OpenLayers bug concerning popup closing under firefox (backported to 1.0beta3) ;
    • Bug correction on XMLSerializer() for IE browsers : replacement of this.xmldom by node.xml in OpenLayers.Format.XML.write().
    • Geoportal.Catalogue.getDisplayProjections() : backward compatibility with 1.0beta2 fix (optional territory parameter) ;
    • layer's visibility and opacity saved when switching world/local map's base layer. OpenLayers overloaded file patched ;
    • "movestart" and "moveend" map's events were not released for Firefox when the popup is closed by a "clickout" ;
    • Map's div size corrected when based on CSS rule ;
    • A click next to the layer's opacity slider does not deactivate any more the navigation or zoombox controls ;
    • Geoportal.Control.Panel launches now the "controlactivated" event for OpenLayers.Control.TYPE_TOGGLE controls ;
    • OpenLayers.Format.KML.parseAttributes() didn't parse tags with only 2 children. This bug appeared under Firefox 2/3, but not under IE7. The fix manages this case (OpenLayers only manages 1 child or 3 children) ;
    • CSS rules changes :
      • class projectionInfoCRS removed ;
      • gpCoordonneClass removed ;
      • gpMapCopyClass removed ;
      • gpEchelleClass removed ;
      • gpProjectionInfoClass removed ;
      • gpControlInformationContainerClass removed ;
      • gpButtonSelectProj removed ;
      • gpSelectProjections removed ;
      • gpLayerDivClass.alternate changed into gpLayerDivClassAlternate ;
      • gpLayerSpanClass.notInRange changed into gpLayerSpanClassNotInRange ;
      • added rule olControlLoadingPanel ;
      • added rule gpSelectUnits ;
      • gpFloatingDiv* changed into gpControlFloating* ;
  • Documentation :
    • Lots of typo fixes ;
    • Geoportal.Catalogue.getDisplayProjections() : addition of missing territory parameter ;
    • API users oriented instead of API developers oriented ;
    • Addition of an advanced use of the API ;
    • Addition of overloaded classes and methods of OpenLayers and PROJ4JS.

11/04/2008 (1.0beta3) :

  • Based on OpenLayers 2.7 ;
    • integrated support of Mac through Canvas ;
  • on-the-fly reprojection when changing base layer for local to world map ;
  • Addition of toggle panel for hiding/showing panels in the layers switcher ;
  • Addition of Geoconcept export format (rea/write) (experimental) ;
  • Enhancement of GPX support (read/write) distinct from the one from OpenLayers ;
  • Addition of an editing control into the layers switcher ;
  • Addition of a vector layer control;
  • Addition of two advanced examples (first release) :
    • HTML form - API map synchronisation for point inputs ;
    • Ponctual, linear and polygon editing tools.
  • Bug fixes :
    • long layer names fix in the layers switcher ;
    • unload event reactivation for Firefox ;
    • Complex panel fixes in IE.

09/16/2008 (intermediate 1.0beta3) :

  • Geoportal cache new resolutions support ;
  • Removal of dependencies on "Prototype", "" and "Archetype" :
    • zoom and transparency controls redesign ;
  • Addition of some OpenLayers.Map methods into Geoportal.Map to ease development ;
  • Use of CSS for all Geoportal API elements ;
  • New GeoRM engine :
    • removal of timer ;
    • use of client events.
  • Support for changing display projections ;
  • Addition of "Delete layer" and "Zoom to extent" buttons in the layers switcher ;
  • Documentation :
    • NaturalDocs based.

07/03/2008 (1.0beta2) :

  • based on OpenLayers 2.6 ;
  • Popup enhancements in 1.0beta1 ;
  • Firefox 3 support in 1.0beta1 ;
  • Documentation :
    • Download of the Geoportal API activated.

06/04/2008 (1.0beta1) :

  • BSD license for the Geoportal API ;
  • better support for multi-geometries re-projection in KML ;
  • experimental support for GPX ;
  • re-projection in geographical reference system for Geoportal layers ;
  • Minor bug fixes.
  • Documentation :
    • OpenLayers 2.5 documentation and examples links ;
    • Enhancement of the Geoportal API documentation.

04/21/2008 (1.0beta) :

  • Initial delivery of the Geoportal API based on OpenLayers 2.5.