Est-il possible d'introduire zoomWheelEnabled comme paramètre dans le loader?
Et bien sûr, comment?
Merci![]()
Est-il possible d'introduire zoomWheelEnabled comme paramètre dans le loader?
Et bien sûr, comment?
Merci![]()
Il est activé par défaut ...
Qu'est-ce que tu veux faire ?
De mon point de vue, Geoportal.load() a été mis en place pour simplifier l'écriture de carte "simple" multi-langage (JavaScript, Flex aujourd'hui). C'est aussi appelé l'API de Haut Niveau (c'est pas pour rien)
A partir du moment où on veut faire plus compliqué, il faut utiliser Geoportal.GeoRMHandler.getConfig() avec l'utilisation du callback sur 'contractCompleted'.
Bon, donc l'inverse de la question initiale ...
Dans les options de Geoportal.load :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 defaultControls:{ 'OpenLayers.Control.Navigation':{ navigationOptions:{ zoomWheelEnabled:false } } }
Je vais donc voir la doc technique.... Pas de defaultControls référencéDans les options de Geoportal.load :
Je poursuis sur la page documention générale... Pas de defaultControls référencé
Bon! je place donc intuitivement defaultControls dans les options du loader de la manière suivante
Mais le résultat n'est pas concluant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ....language : 'fr', defaultControls:{ 'OpenLayers.Control.Navigation':{ navigationOptions:{ zoomWheelEnabled:false } } }, displayProjection : 'EPSG:4326',.....
Je m'en veux de ne pas trouver la doc adéquate.... Et pourtant j'y mets de la bonne volonté!![]()
Anormal, c'est une propriété de la classe Geoportal.Viewer.
Là, c'est moins étonnant ... le nombre de cas à documenter est énorme
C'est bon
C'est ma faute ... je me suis trompé de nom d'options ... Essaie de remplacer 'OpenLayers.Control.Navigation' par 'Geoportal.Control.NavToolbar' ...
Ben, moi je lis le code pour essayer de répondre ...
Et le code sur http://depot.ign.fr/geoportail/api/j...geoportal/lib/ est toujours celui de la version 1.3 !
C'est fait. Cela déclenche l'erreur suivanteEssaie de remplacer 'OpenLayers.Control.Navigation' par 'Geoportal.Control.NavToolbar'
Et là, j'ai essayé différentes bidouilles non concluantes...this.toolBoxCntrl is undefined
?? Mais je fais appel à http://api.ign.fr/geoportail/api/js/latest/lib/geoportal/lib/Geoportal.js qui est bien, sauf erreur de ma part, la version 2.0.1 publiée le 19/9/2012.Et le code sur http://depot.ign.fr/geoportail/api/j...geoportal/lib/ est toujours celui de la version 1.3 !
Vu, il faudrait essayer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 defaultControls:{ 'Geoportal.Control.NavToolbar':{ position: new OpenLayers.Pixel(0,2), //FIXME parentCntrl: function() { return (this['toolBoxCntrl'] && this['toolBoxCntrl'].id)? OpenLayers.Util.getElement(this['toolBoxCntrl'].id+'_navbar') : null; }, navigationOptions:{ zoomWheelEnabled:false } } }
Rien, à voir
@mga_geo : faudra que l'on mette effectivement le trunk de la 2.x.y sur depot.ign.fr proprement. Ceci écrit, elle est aussi sûr api.ign.fr![]()
Pour le source sur http://api.ign.fr/geoportail/api/js/...geoportal/lib/, j'encaisse un 403 de nginx
Reprenons cette discussion non résolue.
Sur cette page de test le premier viewer n'a plus le zoomWheel
Mais le viewer 2 a toujours le zoomWheel malgré le codage de dgrichard...
dans le viewer n'est toujours pas opérationnel?navigationOptions:{ zoomWheelEnabled:false }
Ce serait si simple pour nous, simple utilisateur...
j'ai remplacé 'defaultControls' par 'controlsOptions' et ça à l'air de marcher :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 controlsOptions:{ 'Geoportal.Control.NavToolbar':{ position: new OpenLayers.Pixel(0,2), //FIXME parentCntrl: function() { return (this['toolBoxCntrl'] && this['toolBoxCntrl'].id)? OpenLayers.Util.getElement(this['toolBoxCntrl'].id+'_navbar') : null; }, navigationOptions:{ zoomWheelEnabled:false } } }
OK. Merci.
Cependant mon souci était de remplacer cette séquencePar une seule ligne plus simple et plus explicite du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var nvC = null; nvC = viewer1bis.getMap().getControlsByClass('OpenLayers.Control.Navigation'); if (nvC.length > 0) { nvC = nvC[0]; nvC.deactivate(); nvC.zoomWheelEnabled = false; nvC.activate(); }
Mais apparemment, cela ne se peut pas... Dommage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 controlsOptions:{ navigationOptions:{ zoomWheelEnabled:false } } }
J'avais juste repris ton code et remplacé le defaultControls par controlsOptions, mais tu peux en plus supprimer les deux options 'position' et 'parentControl', ce qui réduit le tout à :
Par contre, je ne pense pas qu'on puisse supprimer la référence au controle : 'Geoportal.Control.NavToolbar'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 controlsOptions:{ 'Geoportal.Control.NavToolbar':{ navigationOptions:{ zoomWheelEnabled:false } } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager