>Von: Jody Garnett [EMAIL PROTECTED] >> If I implement a new navigation command I have to update the >> NavigationCommandFactory in my local udig environment. With the next >> udig version I have the problem to fix it there again. >You do not need to use the NavigationCommandFactory - if you are using >your own command. The only reason we have a command factory is so uDig >can change its implementations as time goes on with out breaking you. > >You are welcome to make a factory for your own commands, or simply use >"new".
ok, but I wasn't successful >> Von: Jesse Eichar [EMAIL PROTECTED] >> mailto:[EMAIL PROTECTED]> >> >> You will have to make your own NavCommand. I think you extend >> AbstractNavCommand and make the following call in the run method: >> >> map.getViewportModelInternal().setScaleDenominator( scale ). >> >> Don't for get to add the undo functionality. >> The rendering process starts but ends with the same scaledenominator. The logfile says why: !ENTRY net.refractions.udig.project 1 0 2007-03-21 10:41:50.492 !MESSAGE !STACK 0 java.lang.IllegalArgumentException: Latitude 96°15.0'S is out of range (±90°). at org.geotools.referencing.GeodeticCalculator.checkLatitude(GeodeticCalculator.java:374) at org.geotools.referencing.GeodeticCalculator.setAnchorPoint(GeodeticCalculator.java:514) at net.refractions.udig.project.internal.render.impl.ViewportModelImpl.setScale(ViewportModelImpl.java:1193) at de.foo.bar.ScaleCommand.runImpl(ScaleCommand.java:47) at net.refractions.udig.project.internal.command.navigation.AbstractNavCommand.run(AbstractNavCommand.java:48) at net.refractions.udig.project.command.CommandManager$Executor.execute(CommandManager.java:398) at net.refractions.udig.project.command.CommandManager$Executor.run(CommandManager.java:323) at net.refractions.udig.project.command.CommandManager$Executor.run(CommandManager.java:309) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) The map contained an boundingbox with upper left: 95W,73N lower right: 15E,2N (north atlantic ocean with surrounding countries) the scale is 1:35'587'761 and I want to set it to something like 1:12'000'000 this means I want to zoom in and the Latitude 96°15.0'S is not inside the target bounding box. I didn't try to understand the calculation in ViewportModelImpl.setScale(..) but it looks like there is a bug inside. tony roth _______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
