From dfeeda910605c022e1f0e6a562c0c9c2b248120a Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Fri, 3 Dec 2010 14:58:58 +0000 Subject: [PATCH] Allow a javascript function to be called when the map is moved --- net/systemeD/potlatch2/EditController.as | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/net/systemeD/potlatch2/EditController.as b/net/systemeD/potlatch2/EditController.as index fa2d93c8..39c3d3e9 100644 --- a/net/systemeD/potlatch2/EditController.as +++ b/net/systemeD/potlatch2/EditController.as @@ -1,6 +1,7 @@ package net.systemeD.potlatch2 { import net.systemeD.halcyon.Map; import net.systemeD.halcyon.MapController; + import net.systemeD.halcyon.MapEvent; import net.systemeD.halcyon.connection.*; import net.systemeD.halcyon.VectorLayer; import net.systemeD.potlatch2.controller.*; @@ -25,6 +26,7 @@ package net.systemeD.potlatch2 { private var maximised:Boolean=false; private var maximiseFunction:String; private var minimiseFunction:String; + private var moveFunction:String; [Embed(source="../../../embedded/pen.png")] public var pen:Class; [Embed(source="../../../embedded/pen_x.png")] public var pen_x:Class; @@ -40,7 +42,8 @@ package net.systemeD.potlatch2 { this.toolbox.init(this); this.maximiseFunction = Connection.getParam("maximise_function", null); this.minimiseFunction = Connection.getParam("minimise_function", null); - + this.moveFunction = Connection.getParam("move_function", null); + map.parent.addEventListener(MouseEvent.MOUSE_MOVE, mapMouseEvent); map.parent.addEventListener(MouseEvent.MOUSE_UP, mapMouseEvent); map.parent.addEventListener(MouseEvent.MOUSE_DOWN, mapMouseEvent); @@ -48,6 +51,10 @@ package net.systemeD.potlatch2 { map.parent.addEventListener(MouseEvent.CLICK, mapMouseEvent); map.parent.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); map.parent.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); + + if (this.moveFunction) { + map.addEventListener(MapEvent.MOVE, moveHandler); + } } public function setActive():void { @@ -161,6 +168,13 @@ package net.systemeD.potlatch2 { } } + private function moveHandler(event:MapEvent):void { + ExternalInterface.call(this.moveFunction, + event.params.lon, event.params.lat, event.params.scale, + event.params.minlon, event.params.minlat, + event.params.maxlon, event.params.maxlat); + } + } } -- 2.30.0