Skip to content

Commit

Permalink
release 3.3.18
Browse files Browse the repository at this point in the history
  • Loading branch information
elias75015 committed Oct 4, 2022
2 parents 5b19ecd + 3dccee5 commit cb50227
Show file tree
Hide file tree
Showing 18 changed files with 44 additions and 53 deletions.
4 changes: 2 additions & 2 deletions DRAFT_CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
## Summary

Mise à jour de l'extension Géoportail pour Openlayers en version 3.2.14 et modifications pour la manipulation des features issues des tuiles vectorielles
Utilisation du Geocodage V2

## Changelog

* [Added]

* [Changed]

- Modification de la gestion des features (FeatureClass en mode 'read/write') sur le vecteur tuilé (#96)
- mise à jour des API JavaScript Geoportail sous-jacentes et adaptations pour utilisation de la version 2 du Geocodage (#65)

* [Removed]

Expand Down
4 changes: 3 additions & 1 deletion README-SDK-2D.md
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,8 @@ La propriété **location** permet de préciser le lieu à géocoder et la propr

* "CadastralParcels" : géocodage d'indentifiants de parcelles cadastrales

* "location" : regroupe les types "PositionOfInterest" et "StreetAddress"


**Exemple :**

Expand All @@ -293,7 +295,7 @@ var map = Gp.Map.load(
// centrage de la carte
center : {
location : "73 avenue de Paris, Saint-Mandé",
locationType : ["StreetAddress"]
locationType : "StreetAddress"
},
}
) ;
Expand Down
3 changes: 2 additions & 1 deletion README-SDK-3D.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@ La propriété **location** permet de préciser le lieu à géocoder et la propr

* "CadastralParcels" : géocodage d'indentifants de parcelles cadastrales

* "location" : regroupe les types "PositionOfInterest" et "StreetAddress"

**Exemple :**

Expand All @@ -299,7 +300,7 @@ var map = Gp.Map.load(
// centrage de la carte
center : {
location : "73 avenue de Paris, Saint-Mandé",
locationType : ["StreetAddress"]
locationType : "StreetAddress"
},
}
) ;
Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "geoportal-sdk",
"version": "3.3.17",
"date": "02/08/2022",
"SDK2DVersion": "3.3.17",
"SDK3DVersion": "3.3.17",
"version": "3.3.18",
"date": "04/10/2022",
"SDK2DVersion": "3.3.18",
"SDK3DVersion": "3.3.18",
"description": "French Geoportal SDK based on OpenLayers (2D) and iTowns (3D) libraries",
"main": "dist/2d/GpSDK2D-src.js, dist/3d/GpSDK3d-src.js",
"module": "src/SDK2D.js, src/SDK3D.js",
Expand Down Expand Up @@ -72,8 +72,8 @@
"exports-loader": "^0.7.0",
"expose-loader": "^0.7.5",
"fs-extra": "^9.0.0",
"geoportal-extensions-itowns": "2.3.7",
"geoportal-extensions-openlayers": "3.2.14",
"geoportal-extensions-itowns": "2.3.9",
"geoportal-extensions-openlayers": "3.2.17",
"handlebars": "^4.7.5",
"handlebars-layouts": "^3.1.4",
"html-webpack-plugin": "^4.0.4",
Expand Down
2 changes: 1 addition & 1 deletion samples-src/config-2d.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
"apikey" : "essentiels,calcul",
"apikey2" : "parcellaire",
"apikey3" : "an7nvfzojv5wa96dsga5nk8w"
}
}
2 changes: 1 addition & 1 deletion samples-src/pages/2d/page-controls-amd.html
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ <h1>Gestion des controles avec le SDK</h1>
if (elem.value.toLowerCase() == "search") {
ctrlOpts[elem.value]["displayAdvancedSearch"] = true ;
ctrlOpts[elem.value]["resources"] = {
geocode : ["StreetAddress"],
geocode : "StreetAddress",
autocomplete : ["StreetAddress"]
} ;
}
Expand Down
2 changes: 1 addition & 1 deletion samples-src/pages/2d/page-controls-bundle.html
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ <h1>Gestion des controles avec le SDK</h1>
if (elem.value.toLowerCase() == "search") {
ctrlOpts[elem.value]["displayAdvancedSearch"] = true ;
ctrlOpts[elem.value]["resources"] = {
geocode : ["StreetAddress"],
geocode : "StreetAddress",
autocomplete : ["StreetAddress"]
} ;
}
Expand Down
2 changes: 1 addition & 1 deletion samples-src/pages/2d/page-controls-es6.html
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ <h1>Gestion des controles avec le SDK</h1>
if (elem.value.toLowerCase() == "search") {
ctrlOpts[elem.value]["displayAdvancedSearch"] = true ;
ctrlOpts[elem.value]["resources"] = {
geocode : ["StreetAddress"],
geocode : "StreetAddress",
autocomplete : ["StreetAddress"]
} ;
}
Expand Down
6 changes: 3 additions & 3 deletions samples-src/pages/2d/page-controlsOptions-bundle.html
Original file line number Diff line number Diff line change
Expand Up @@ -271,15 +271,15 @@ <h1>Ajout d'une carte avec Gp.Map.load() et l'ensemble des options possibles de
search : {
maximised : false,
resources : {
geocode : ["PositionOfInterest"],
geocode : "PositionOfInterest",
autocomplete : ["StreetAddress"]
},
displayAdvancedSearch : false,
advancedSearch : {}
},
reverseSearch : {
maximised : false,
resources : ["PositionOfInterest"],
resources : "PositionOfInterest",
delimitations : ["Point", "Extent", "Circle"]
},
drawing : {
Expand Down Expand Up @@ -352,7 +352,7 @@ <h1>Ajout d'une carte avec Gp.Map.load() et l'ensemble des options possibles de
if (elem.value.toLowerCase() == "search") {
ctrlOpts[elem.value]["displayAdvancedSearch"] = true ;
ctrlOpts[elem.value]["resources"] = {
geocode : ["StreetAddress"],
geocode : "StreetAddress",
autocomplete : ["StreetAddress"]
} ;
}
Expand Down
2 changes: 1 addition & 1 deletion samples-src/pages/2d/page-events-bundle.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ <h1>Abonnement aux evenements</h1>
center : {
// geolocate : true,
location : "Nimes",
locationTypes : ["PositionOfInterest"]
locationTypes : "PositionOfInterest"
},
azimuth : 45,
layersOptions : {
Expand Down
2 changes: 1 addition & 1 deletion samples-src/pages/2d/page-exportmap-bundle.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ <h1>Export de l'état d'une carte.</h1>
apiKey : "{{apikey}}",
center : {
location : "Nimes",
locationTypes : ["PositionOfInterest"]
locationTypes : "PositionOfInterest"
},
layersOptions : {
'ORTHOIMAGERY.ORTHOPHOTOS': {
Expand Down
2 changes: 1 addition & 1 deletion samples-src/pages/2d/page-geolocate-bundle.html
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ <h2>Centrage sur la position de l'internaute, ou sur une adresse en cas de probl
apiKey : "{{apikey}}",
center : {
location : "Nimes",
locationType : ["PositionOfInterest"]
locationType : "PositionOfInterest"
}
});
}
Expand Down
2 changes: 1 addition & 1 deletion samples-src/pages/2d/page-mapOptions-bundle.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ <h1>Ajout d'une carte avec Gp.Map.load() et l'ensemble des options possibles de
projection : "EPSG:4326"
/* location adress */
// location : "73 avenue de paris, 94160 Saint-Mandé",
// locationType : ["StreetAddress"]
// locationType : "StreetAddress"
/* geolocation */
// geolocate : true
},
Expand Down
2 changes: 1 addition & 1 deletion samples-src/pages/3d/page-events-bundle.html
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ <h1>Abonnement aux evenements</h1>
center : {
// geolocate : true,
location : "Nimes",
locationTypes : ["PositionOfInterest"]
locationTypes : "PositionOfInterest"
},
azimuth : 45,
layersOptions : {
Expand Down
2 changes: 1 addition & 1 deletion src/Interface/IMapBase.js
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ IMap.DEFAULTOPTIONS = {
projection : "EPSG:4326",
geolocate : false,
location : null,
locationType : ["StreetAddress", "PositionOfInterest"]
locationType : "location"
},
azimuth : 0,
enableRotation : true,
Expand Down
38 changes: 13 additions & 25 deletions src/Interface/IMapView.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Services } from "geoportal-extensions-openlayers";
*
* @param {Object} opts - opts de geocodage
* @param {String} opts.location - localisant
* @param {Array.<String>} opts.locationType - types de localisants
* @param {String} opts.locationType - type de localisant
* @fires located
* @private
*/
Expand Down Expand Up @@ -37,41 +37,29 @@ IMap.prototype.centerGeocode = function (opts) {
for (var i = 0; i < keys.length; i++) {
layersIds[keys[i]] = Config.getLayersId(keys[i]);
}
var locTypes = opts.locationType || ["StreetAddress", "PositionOfInterest"];
var fo = {};
fo.type = [];
fo.keys = [];
// pour chaque clé en entrée, on va vérifier à quelle ressource de géocodage elle a accès
var checkLocTypes;
for (var k = 0; k < keys.length; k++) {
checkLocTypes = locTypes.slice();
while (checkLocTypes.length > 0) {
var lt = checkLocTypes.pop();
if (layersIds[keys[k]].indexOf(lt + "$OGC:OPENLS;Geocode") >= 0) {
this.logger.trace("[IMap] centerGeocode : found rights for " + lt);
fo.type.push(lt);
// on récupère toutes les clés ayant accès à au moins une ressource de géocodage
fo.keys.push(keys[k]);
}
}
var locType = opts.locationType || "location";
var index = null;
if (layersIds.indexOf(locType + "$OGC:OPENLS;Geocode") >= 0) {
this.logger.trace("[IMap] centerGeocode : found rights for " + locType);
index = locType;
}
// Si on n'a rien trouve, on ne peut pas geocoder
if (fo.type.length === 0) {
if (!index) {
this.logger.info("no rights for geocoding services");
return;
}
var map = this;
// On appelle le service de geocodage avec la première clé ayant accès à une ressource de géocodage
Services.geocode({
apiKey : fo.keys[0],
location : opts.location,
filterOptions : fo,
apiKey : keys[0],
query : opts.location,
index : index,
// si le service de geocodage répond
onSuccess : function (geocodeResponse) {
map.logger.trace("[IMap] found center by geocoding (" + geocodeResponse.locations[0].position.x + ", " + geocodeResponse.locations[0].position.y + ")");
map.logger.trace("[IMap] found center by geocoding (" + geocodeResponse.locations[0].position.lon + ", " + geocodeResponse.locations[0].position.lat + ")");
var point = {
x : geocodeResponse.locations[0].position.y,
y : geocodeResponse.locations[0].position.x,
x : geocodeResponse.locations[0].position.lon,
y : geocodeResponse.locations[0].position.lat,
projection : "EPSG:4326"
};
map.setAutoCenter(point);
Expand Down
6 changes: 3 additions & 3 deletions src/Map.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
* @property {Float} y - y coordinates for center
* @property {String} projection - center coordinates srs
* @property {String} location - place or address where to center the map
* @property {Array.<String>} locationType - location types ("StreetAddress", "PositionOfInterest", "CadastralParcel"). Default is ["StreetAddress", "PositionOfInterest"]
* @property {String} locationType - location type ("StreetAddress", "PositionOfInterest", "CadastralParcel", "location"). Default is "location"
* @property {Boolean} geolocate - center the map by geolocation
*/
var center = {
Expand Down Expand Up @@ -852,7 +852,7 @@ var layerOptions = {
* | div | String / DOMElement | Target HTML element container or its id. Default is chosen by map implementation.
* | maximised | Boolean | if the control has to be opened or not. |
* | resources | Object | resources to be used by geocode and autocompletion services |
* | resources.geocode | Array(String) | resources geocoding, by default : ["PositionOfInterest", "StreetAddress"] |
* | resources.geocode | String | resources geocoding, by default : "location" |
* | resources.autocomplete | Array(String) | resources autocompletion, by default : ["PositionOfInterest", "StreetAddress"] |
* | displayAdvancedSearch | Boolean | True to display advanced search tools. Default is false (not displayed) |
* | advancedSearch | Object | advanced search options for geocoding (filters). Properties can be found among geocode options.filterOptions (see https://ignf.github.io/geoportal-access-lib/latest/jsdoc/module-Services.html#~geocode) |
Expand All @@ -871,7 +871,7 @@ var layerOptions = {
* | - | - | - |
* | div | String / DOMElement | Target HTML element container or its id. Default is chosen by map implementation.
* | maximised | Boolean | if the control has to be opened or not. |
* | resources | Array(String) | resources geocoding, by default : ["PositionOfInterest", "StreetAddress"] |
* | resources | String | resources geocoding, by default : "location" |
* | displayAdvancedSearch | Boolean | False to disable advanced search tools (it will not be displayed). Default is true (displayed) |
* | delimitations | Array(String) | delimitations for reverse geocoding, by default : ["Point", "Circle", "Extent"]. Possible values are : "Point", "Circle", "Extent". Delimitations will be displayed in the same order in widget list. |
* | reverseGeocodeOptions | Object | reverse geocode service options. see https://ignf.github.io/geoportal-access-lib/latest/jsdoc/module-Services.html#~reverseGeocode to know all reverse geocode options. |
Expand Down
4 changes: 2 additions & 2 deletions src/OpenLayers/OlMapControls.js
Original file line number Diff line number Diff line change
Expand Up @@ -974,7 +974,7 @@ OlMap.prototype.addElevationPathControl = function (controlOpts) {
* @param {String|Element} controlOpts.div - target HTML element container. Default is chosen by implementation.
* @param {Boolean} controlOpts.maximised - if the control has to be opened or not.
* @param {Object} controlOpts.resources - resources to be used by geocode and autocompletion services
* @param {Array.<String>} controlOpts.resources.geocode - resources geocoding, by default : ["PositionOfInterest", "StreetAddress"]
* @param {String} controlOpts.resources.geocode - resources geocoding, by default : "location"
* @param {Array.<String>} controlOpts.resources.autocomplete - resources autocompletion, by default : ["PositionOfInterest", "StreetAddress"]
* @param {Boolean} [controlOpts.displayAdvancedSearch = false] - True to display advanced search tools. Default is false (not displayed)
* @param {Object} controlOpts.advancedSearch - advanced search options for geocoding (filters). Properties can be found among geocode options.filterOptions (see https://ignf.github.io/geoportal-access-lib/latest/jsdoc/module-Services.html#~geocode)
Expand Down Expand Up @@ -1029,7 +1029,7 @@ OlMap.prototype.addSearchControl = function (controlOpts) {
* @param {Object} controlOpts - control options
* @param {String|Element} controlOpts.div - target HTML element container. Default is chosen by implementation.
* @param {Boolean} controlOpts.maximised - if the control has to be opened or not.
* @param {Array.<String>} controlOpts.resources - resources geocoding, by default : ["PositionOfInterest", "StreetAddress"]
* @param {String} controlOpts.resources - resources geocoding, by default : "location"
* @param {Array.<String>} controlOpts.delimitations - delimitations for reverse geocoding, by default : ["Point", "Circle", "Extent"]. Possible values are : "Point", "Circle", "Extent". Delimitations will be displayed in the same order in widget list.
* @param {Object} [controlOpts.reverseGeocodeOptions = {}] - reverse geocode service options. see https://ignf.github.io/geoportal-access-lib/latest/jsdoc/module-Services.html#~reverseGeocode to know all reverse geocode options.
*
Expand Down

0 comments on commit cb50227

Please sign in to comment.