diff --git a/src/services/map-service.js b/src/services/map-service.js index 6c37c0b27841519b75063469643672828ab40044..14eb8e2ad74cfb22c577759adffc654ee4f4031b 100644 --- a/src/services/map-service.js +++ b/src/services/map-service.js @@ -133,8 +133,8 @@ const mapService = { router.push({ name: 'details-signalement', params: { - slug_type_signal: featureTypeSlug, //'1-polygones' - slug_signal: featureId, //'d267c6fa-d676-45c9-8e34-ec3d1bcc7c25' + slug_type_signal: featureTypeSlug, + slug_signal: featureId, }, }); } @@ -143,7 +143,7 @@ const mapService = { router.push({ name: 'details-type-signalement', params: { - feature_type_slug: featureTypeSlug, //'1-polygones' + feature_type_slug: featureTypeSlug, }, }); } @@ -152,11 +152,17 @@ const mapService = { }, onMapClick(event) { + //* retrieve features under pointer const features = this.map.getFeaturesAtPixel(event.pixel, { - layerFilter: (l) => l === this.mvtLayer + layerFilter: (l) => l === this.mvtLayer || this.olLayer }); + console.log('click', features[0], this.mvtLayer, this.olLayer); + //* prepare popup content if (features && features.length > 0) { - const popupContent = this._createContentPopup(features[0], this.mvtLayer.featureTypes); + console.log(this.mvtLayer, this.olLayer); + const popupContent = this._createContentPopup( + features[0], this.mvtLayer.featureTypes || this.olLayer.featureTypes + ); this.content.innerHTML = popupContent.html; this.overlay.setPosition(event.coordinate); this.addRouterToPopup(popupContent.feature_type.slug, popupContent.featureId); @@ -471,7 +477,7 @@ const mapService = { let retour; // TODO verifier utilité de cette boucle et remplacer par readFeatures plutot features.forEach((feature) => { - retour = new GeoJSON().readFeature(feature, { dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857' }); + retour = new GeoJSON().readFeature(feature, { dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857' }, featureTypes); drawSource.addFeature(retour); // const featureProperties = feature.properties ? feature.properties : feature; // const featureType = featureTypes @@ -493,6 +499,8 @@ const mapService = { }); olLayer.setZIndex(29); this.map.addLayer(olLayer); + this.olLayer = olLayer; + this.olLayer.featureTypes = featureTypes; return drawSource; },