Load policy files only when the layer is created - often the loader can be created...
[potlatch2.git] / net / systemeD / potlatch2 / utils / BugLoader.as
1 package net.systemeD.potlatch2.utils {
2
3     import net.systemeD.halcyon.Map;
4     import net.systemeD.halcyon.VectorLayer;
5     import net.systemeD.halcyon.connection.Marker;
6     import net.systemeD.potlatch2.BugLayer;
7     import flash.net.*;
8     import flash.events.*;
9     import flash.system.Security;
10
11     public class BugLoader {
12
13         private var map:Map;
14         private var bugBaseURL:String;
15         private var bugApiKey:String;
16         private var _layer:VectorLayer;
17         private static const STYLESHEET:String="bugs.css";
18
19
20         public function BugLoader(map:Map, url:String, bugApiKey:String):void {
21             this.map = map;
22             this.bugBaseURL = url;
23             this.bugApiKey = bugApiKey;
24         }
25
26         public function load():void {
27             layer.loadBbox(map.edge_l, map.edge_r, map.edge_t, map.edge_b);
28         }
29
30
31         private function get layer():VectorLayer {
32             if (!_layer) {
33                 var n:String='Bugs';
34
35                 var policyFile:String = bugBaseURL+"crossdomain.xml";
36                 Security.loadPolicyFile(policyFile);
37
38                 _layer=new BugLayer(n,map,STYLESHEET,bugBaseURL,bugApiKey);
39                 map.addVectorLayer(_layer);
40             }
41             return _layer;
42         }
43     }
44 }