Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Mon 20 May 2019 12:58

Alain_75077
Juste Inscrit !
Date d'inscription: 29 Nov 2018
Messages: 7

Disparition couche en vue satellite

Bonjour à tous,

Dans une carte OpenLayers j'ai créer une couche personnalisé qui récupère de la géométrie stocker en base de donnée et je la mets en évidence à l'aide d'un code couleur.
Dans mon application je possède aussi un fond de carte stamen et une vue satellite (mapbox), je déclare mes fond de cartes comme ceci :

Code:

var baseLayer = new TileLayer({
  source: new OSM({
      layer: 'terrain'
  }),
  name: 'baseLayer',
  visible : true
});
var Terrain = new TileLayer({
  source: new Stamen({
      layer: 'terrain'
  }),
  name: 'Terrain',
  visible : false,
});
var satellite =  new TileLayer({
  source: new XYZ({
    url: 'https://api.mapbox.com/styles/v1/mapbox/satellite-streets-v9/tiles/256/{z}/{x}/{y}?access_token=token'
  }),
  name: 'mapbox',
  visible : false,
});
var map = new Map({
  layers: [baseLayer,Terrain,foncier2,satellite,IGN,GPU],
  target: 'map',
  // container: 'map',
  renderer:'canvas',
view: new View({
center: fromLonLat([2, 48]),
zoom: 6
}),
});

J'ai donc créer aussi une fonction pour toujours afficher ma couche lors des changements de fond et afficher le fond choisis :

Code:

$('.fonddecarte').change(function() {
  var layer = $(this).val();
  map.getLayers().getArray().forEach(function(e) {
      foncier2.setVisible(true)
    var name = e.get('name');
    e.setVisible(name == layer); 
  });
});

Mais malheureusement quand je passe à un fond de carte à vue satellite ma couche disparaît, auriez vous une idée pourquoi ? Ma fonction est mauvaise ?

Dernière modification par Alain_75077 (Mon 20 May 2019 15:08)

Hors ligne

 

#2 Mon 20 May 2019 14:55

nworr
Participant actif
Date d'inscription: 10 Apr 2014
Messages: 74

Re: Disparition couche en vue satellite

Réponse rapide sans avoir tester :
en changeant l'ordre dans la tableau layers peut être ?

Code:

 layers: [baseLayer,Terrain,satellite,IGN,GPU,foncier2], // mettre foncier en dernier (ou après satellelite)

Hors ligne

 

#3 Mon 20 May 2019 15:10

Alain_75077
Juste Inscrit !
Date d'inscription: 29 Nov 2018
Messages: 7

Re: Disparition couche en vue satellite

Oh super merci merci ça à marcher, moi qui cherchaient des solutions super compliqués... Merci Beaucoup, Tu ma sauver !!!!

Dernière modification par Alain_75077 (Mon 20 May 2019 15:10)

Hors ligne

 

#4 Mon 20 May 2019 15:41

nworr
Participant actif
Date d'inscription: 10 Apr 2014
Messages: 74

Re: Disparition couche en vue satellite

De rien , a noter qu'il existe le control layerswitcher https://github.com/walkermatt/ol-layerswitcher qui créé un layerswitcher facilement.

Hors ligne

 

#5 Tue 21 May 2019 12:08

Alain_75077
Juste Inscrit !
Date d'inscription: 29 Nov 2018
Messages: 7

Re: Disparition couche en vue satellite

D'accord je vais regarder ça merci !!

Hors ligne

 

Pied de page des forums

Powered by FluxBB