Cet article: Créer une géolocalisation sous drupal7 avec OpenLayer (en français s’il-vous-plaît) décrit très bien comment réaliser une carte sous Drupal 7 avec le module OpenLayers, il ne détaille en revanche pas comment utiliser Openlayers pour utiliser la carte de votre choix en filtrant sur le node édité. Il faut en fait refaire la procédure exécutée pour la carte globale mais cette fois pour la carte filtrée.
Voici donc un court complément à ce tutoriel :
Strcuture/Views/Ajouter une nouvelle vue de type OpenLayers Data Overlay qui contienne les éléments de votre choix (dans mon cas il s’agit des contenus de type Evénement) et de format OpenLayers Data Overlay.
Comme pour la carte globale ajoutez le champ géocalisation au format WKT et sélectionnez ce champ en WKT Field pour la carte dans les options de style.
La différence avec la carte globale se trouve ici: ajoutez maintenant un contextual filter
Le nom de ma vue est node_map.
OpenLayers/Maps/Ajouter
Faites comme pour la carte globale, en activant comme layer la vue que vous venez de créer.
Pour afficher cette vue lors de la visualisation d’un contenu de type Evénement
Rendez-vous dans Structure/Panels
Dans la section manage pages activer la page Node template et modifiez-la.
Cliquez sur Add Variant et ajouter une variante contenant une règle de sélection basée sur le type de noeud
Choisissez le template de votre choix (j’ai pris le plus simple pour mart AT Responsive Panels - 1 column) et dans contenu ajoutez les différents éléments que vous souhaitez voir apparaître sur votre page en incluant bien sûr la carte que vous venez de créer.
Si vous souhaitez simplement un bloc à ajouter sur l’une ou l’autre de vos pages vous pouvez vous rendre dans :
Structure/Views/Ajouter une nouvelle vue de type Bloc et de format OpenLayersMap avec pour champ Map la carte que vous venez de créer (dans mon cas carte par événement).
Voilà, en espérant que ce tutoriel puisse aider!