#1 Fri 05 June 2009 16:05
- Remi01
- Participant actif
- Date d'inscription: 18 Jan 2007
- Messages: 75
[Mapfish/ExtJS] adaptation widget recenter
Bonjour,
J'essaie de créer un widget permettant à l'utilisateur de se placer à une des échelles logiques de la carte en la choisissant dans une liste déroulante, je me base sur le widget recenter (j'ai repris le code et tente de le simplifier).
J'ai rajouté une classe Devnavigation (Devnavigation.js) en me basant sur Coords.js
Code:
Ext.namespace('mapfish.widgets', 'mapfish.widgets.recenter'); // Constructeur mapfish.widgets.recenter.Devnavigation = function(config) { Ext.apply(this, config); mapfish.widgets.recenter.Devnavigation.superclass.constructor.call(this); }; //Méthodes Ext.extend(mapfish.widgets.recenter.Devnavigation, mapfish.widgets.recenter.Base, { addItems: function() { // first remove any existing item this.removeAll(); if (this.scales) { this.addScaleCombo(); } this.addRecenterButton(); }, recenter: function() { var zoom; if (this.scales && values.scaleValue) { // use user-provided scale resolution = OpenLayers.Util.getResolutionFromScale(values.scaleValue, this.map.units); zoom = this.map.getZoomForResolution(resolution); } this.zoomTo(zoom); } }); Ext.reg('Devnavigation', mapfish.widgets.recenter.Devnavigation);
Je l'instancie de cette façon dans mon code OpenLayers :
Code:
navigation = new mapfish.widgets.recenter.Devnavigation({ map: map, scales: [5000, 10000, 25000, 40000, 75000, 170000, 500000, 600000, 900000] });
Et j'ai l'erreur suivante dans Firebug :
Code:
mapfish.widgets.recenter.Devnavigation is not a constructor (?)()()openlayers (ligne 117) fire()()ext-all-debug.js (ligne 1488) fireDocReady()()ext-all-debug.js (ligne 1592) getViewWidth()()ext-base.js (ligne 10) [Break on this error] scales: [5000, 10000, 25000, 40000, 75000, 170000, 500000, 600000, 900000]
Pourtant il me semble bien que mon constructeur Devnavigation est défini ...
Auriez vous une idée ? Toute piste est bienvenue !
Merci
Rémi
Dernière modification par Remi01 (Fri 05 June 2009 16:17)
Hors ligne