IGNF / geoportal-extensions

French Geoportal Extensions for well-known javascript mapping libraries (Leaflet and OpenLayers)
https://ignf.github.io/geoportal-extensions/
Other
64 stars 32 forks source link

Erreur - OpenLayers 7.0.0 - class constructors must be invoked with 'new' #337

Open A-d-r-i opened 1 year ago

A-d-r-i commented 1 year ago

Votre environnement

Type d'issue

Contexte

Suite au passage à OpenLayers 7.0.0, j'obtiens une erreur dans la console (et pas d'affichage de ma carte). Voici l'erreur : class constructors must be invoked with 'new'

image

Pour les bugs : Etapes à suivre pour le reproduire

window.onload = function go() {

    var layer_osm = new ol.layer.Tile({
        source: new ol.source.OSM({attributions: [
        '© A-d-r-i',ol.source.OSM.ATTRIBUTION   ]}),
        opacity: 1
    });

    var layer_ortho = new ol.layer.Tile({
        source: new ol.source.GeoportalWMTS({layer: "ORTHOIMAGERY.ORTHOPHOTOS"}),
        opacity: 0.3
    });

    var map = new ol.Map({
        target: 'map',
        layers: [
            layer_osm,
            layer_ortho
        ],
        target: 'map',
        view: new ol.View({
            center: ol.proj.transform([2, 47], 'EPSG:4326', 'EPSG:3857'),
            zoom: 6
        })
    });

}

Comportement attendu

Afficher une carte OSM avec un fond ortho de 0.3 d'opacité (fonctionne parfaitement avec OpenLayers 6.9.0)

Comportement actuel

N'affiche pas la carte : page vierge.

Merci pour votre lecture et retours !

elias75015 commented 1 year ago

Bonjour,

vous êtes certainement notre premier bêta testeur sur ol7 :joy:

Malheureusement, nous n'avons pas encore entrepris les action nécessaires à la mise à niveau de nos API pour qu'elles soient compatibles avec OpenLayers 7. Pour l'instant, nous assurons donc la compatibilité qu'avec OpenLayers 6 (manifestement, il y a quelques problèmes avec ol7).

Nous prévoyons de nous pencher sur la question courant septembre, nous essayerons de communiquer un planning de mise à niveau.

En attendant, n'hésitez pas à nous faire d'autres retours si vous creusez la question et que vous analysez les problèmes rencontrés (issues, ou même PR).

Bonne journée, et merci pour votre retour.

A-d-r-i commented 1 year ago

vous êtes certainement notre premier bêta testeur sur ol7

J'imagine bien ! 😂 Merci beaucoup pour votre retour.

Pour quelques détails en plus, les "widgets/contrôles" ne fonctionnent pas non plus (recherche/switcher etc...).

Nous prévoyons de nous pencher sur la question courant septembre, nous essayerons de communiquer un planning de mise à niveau.

Merci pour les infos. Je reste sur OL 6.9 pour ma prod, rien de pressant !

eldk commented 1 year ago

Bonjour,

J'utilise les cartes Geoportail avec openlayers sans le sdk et les extensions geoportail.

Je viens de faire la mise à jour de ol 6.9 à ol 7.2.2 (latest), j'obtiens le même message d'erreur : class constructors must be invoked with 'new' .

Il faut revoir les chemins d'import : exemple :

-import CircleStyle from 'ol/src/style/Circle'
+import CircleStyle from 'ol/style/Circle'

Après cela, un build fonctionne sans erreur.

Cordialement,

Eric

Sof-Toulouse commented 1 year ago

Bonjour,

Visiblement, j'ai un problème similaire car j'obtiens le même message d'erreur en utilisant la version 7.4 avec le fichier ol3-sidebar.js

image

Par contre, je ne comprend pas la réponse précédente de eldk.

Est-ce que quelqu'un pourrait m'expliquer de manière plus détaillée comment résoudre le problème s'il vous plaît?

Je vous remercie pour votre attention et votre compréhension.

Cordialement,

Sofian

elias75015 commented 3 months ago

Bonjour, pour information nou travaillons à une mise à jour des extensions pour une compatibilité avec OpenLayers 8