source: extensions/Psli_BingMaps/admin/JS/Psli-BingMaps-Zone.js @ 27514

Last change on this file since 27514 was 15448, checked in by psli, 12 years ago
File size: 4.1 KB
Line 
1/*
2Plugin Name: Psli-BingMaps
3Author: psli
4*/
5
6// Global data
7var psli_g_PolygonColor = new Microsoft.Maps.Color(100,20,0,20);
8var psli_g_VerticeInitial = new Array();
9var psli_g_Vertice;
10var psli_g_ZoneDraw;
11var psli_g_Map;
12var psli_g_BingKey;
13var psli_g_MapOptions;
14var psli_g_MapCenter;
15
16/**************************************************************************/
17// JS global function for Map   
18function psli_savePoints() {
19        var sSave = "";
20        var minLat = 200;
21        var maxLat = -200;
22        var minLon = 200;
23        var maxLon = -200;
24        for (var i = 0; i < psli_g_Vertice.length; i++)
25        {
26                sSave += psli_g_Vertice[i].latitude + ";" + psli_g_Vertice[i].longitude + "#";
27                if (psli_g_Vertice[i].latitude > maxLat)
28                        maxLat = psli_g_Vertice[i].latitude;
29                if (psli_g_Vertice[i].latitude < minLat)
30                        minLat = psli_g_Vertice[i].latitude;
31                if (psli_g_Vertice[i].longitude > maxLon)
32                        maxLon = psli_g_Vertice[i].longitude;
33                if (psli_g_Vertice[i].longitude < minLon)
34                        minLon = psli_g_Vertice[i].longitude;
35        }
36        document.getElementById("hiddenpoints").value = sSave;
37        document.getElementById("hiddencenterlat").value = (minLat + maxLat) / 2;
38        document.getElementById("hiddencenterlon").value = (minLon + maxLon) / 2;
39}
40function psli_MapClick(e) {
41        if (e.targetType == "map") 
42        {
43                var psli_l_Point = new Microsoft.Maps.Point(e.getX(), e.getY());
44                var psli_l_Loc = e.target.tryPixelToLocation(psli_l_Point);
45                psli_g_Vertice.push(psli_l_Loc);
46                var zone = new Microsoft.Maps.Polygon(psli_g_Vertice,{fillColor: psli_g_PolygonColor, strokeColor: psli_g_PolygonColor});
47                psli_g_Map.entities.clear();
48                psli_g_Map.entities.push(zone);
49                psli_savePoints();
50        }
51}
52
53function psli_Reload() {
54        psli_CopyInitial();
55        var psli_l_Polygon = new Microsoft.Maps.Polygon(psli_g_Vertice,{fillColor: psli_g_PolygonColor, strokeColor: psli_g_PolygonColor});
56        psli_g_Map.entities.clear();
57        psli_g_Map.entities.push(psli_l_Polygon);
58        psli_savePoints();     
59}
60               
61function psli_DeleteLast() {
62        if (psli_g_Vertice.length > 0) 
63        {
64                psli_g_Vertice.pop();
65                var psli_l_Polygon = new Microsoft.Maps.Polygon(psli_g_Vertice,{fillColor: psli_g_PolygonColor, strokeColor: psli_g_PolygonColor});
66                psli_g_Map.entities.clear();
67                psli_g_Map.entities.push(psli_l_Polygon);
68                psli_savePoints();
69        }
70}
71
72function psli_DeleteAll() {
73        psli_g_Vertice = new Array();
74        psli_g_Map.entities.clear();
75        psli_savePoints();
76}
77
78function psli_CopyInitial() {
79        psli_g_Vertice = new Array();
80        for (var i = 0; i < psli_g_VerticeInitial.length; i++)
81        {
82                psli_g_Vertice.push(psli_g_VerticeInitial[i]);
83        }
84}
85
86function psli_InitMap() {
87        psli_g_Map = new Microsoft.Maps.Map(document.getElementById("myMap"), psli_g_MapOptions);
88        Microsoft.Maps.Events.addHandler(psli_g_Map, "click", psli_MapClick);
89        psli_g_Map.setView({center: psli_g_MapCenter});
90}
91                         
92function psli_SetMinimum() {
93        document.getElementById("zoommin").value = psli_g_Map.getZoom();
94}
95
96function psli_SetMaximum() {
97        document.getElementById("zoommax").value = psli_g_Map.getZoom();
98}
99
100function psli_SetAction() {
101        document.getElementById("actionzoomselect").selectedIndex = psli_g_Map.getZoom() - 1;
102} 
103 
104function psli_ChangeActionMode() {
105        if (document.getElementById("actionselect").selectedIndex == 0)
106        {
107                document.getElementById("ActionZoom").style.display = 'block';
108                document.getElementById("ActionAlbum").style.display = 'none';
109                document.getElementById("ActionPicture").style.display = 'none';
110        }
111        else
112        {
113                if (document.getElementById("actionselect").selectedIndex == 1)
114                {
115                        document.getElementById("ActionZoom").style.display = 'none';
116                        document.getElementById("ActionAlbum").style.display = 'block'; 
117                document.getElementById("ActionPicture").style.display = 'none';       
118                }
119                else
120                {
121                        document.getElementById("ActionZoom").style.display = 'none';
122                        document.getElementById("ActionAlbum").style.display = 'none';
123                document.getElementById("ActionPicture").style.display = 'block';               
124                }
125        }       
126} 
127
128function psli_AdminUpdateMap() {
129        psli_g_MapCenter = new Microsoft.Maps.Location(document.getElementById("lat").value, document.getElementById("lon").value);     
130        psli_g_MapOptions.center = psli_g_MapCenter;
131        psli_g_Map.setView(psli_g_MapOptions); 
132}
Note: See TracBrowser for help on using the repository browser.