source: extensions/Psli_BingMaps/admin/JS/Psli-BingMaps-Map.js @ 16883

Last change on this file since 16883 was 15448, checked in by psli, 12 years ago
File size: 3.2 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_ZoomEntity = new Array();
10var psli_g_Vertice;
11var psli_g_Map;
12var psli_g_BingKey;
13var psli_g_MapOptions;
14var psli_g_MapCenter;
15var psli_g_zoomInitial;
16var psli_g_handlerViewChange;
17var psli_g_handlerClick;
18
19// Data for guest view
20for (var i = 0; i < 20; i++)
21        psli_g_ZoomEntity.push(new Microsoft.Maps.EntityCollection());
22       
23/**************************************************************************/
24// JS global function for Map
25function psli_InitMap() {
26        psli_g_Map = new Microsoft.Maps.Map(document.getElementById("myMap"), psli_g_MapOptions);
27        psli_g_handlerClick = Microsoft.Maps.Events.addHandler(psli_g_Map, "click", psli_MapClick);
28        psli_g_Map.setView({center: psli_g_MapCenter, zoom: psli_g_zoomInitial});
29       
30        var pin = new Microsoft.Maps.Pushpin(psli_g_MapCenter);
31        psli_g_Map.entities.clear();
32        psli_g_Map.entities.push(pin); 
33}
34
35function psli_ShowGuestView () {
36        document.getElementById("showView").disabled = true;
37        document.getElementById("showData").disabled = false;
38        psli_g_handlerViewChange = Microsoft.Maps.Events.addHandler(psli_g_Map, "viewchangeend", psli_MapViewChangeEnd);
39        Microsoft.Maps.Events.removeHandler(psli_g_handlerClick);
40        psli_g_Map.entities.clear();
41        psli_g_Map.entities.push(psli_g_ZoomEntity[psli_g_Map.getZoom() - 1]);
42}
43
44function psli_ShowMapData () {
45        document.getElementById("showView").disabled = false;
46        document.getElementById("showData").disabled = true;
47        Microsoft.Maps.Events.removeHandler(psli_g_handlerViewChange);
48        psli_g_handlerClick = Microsoft.Maps.Events.addHandler(psli_g_Map, "click", psli_MapClick);
49        var pin = new Microsoft.Maps.Pushpin(psli_g_MapCenter);
50        psli_g_Map.entities.clear();
51        psli_g_Map.entities.push(pin);
52        psli_g_Map.setView({center: psli_g_MapCenter, zoom: psli_g_zoomInitial});
53}
54
55function psli_MapViewChangeEnd () {
56        psli_g_Map.entities.clear();
57        psli_g_Map.entities.push(psli_g_ZoomEntity[psli_g_Map.getZoom() - 1]);
58}
59
60function psli_MapClick(e) {
61        if (e.targetType == "map") 
62        {
63                var psli_l_Point = new Microsoft.Maps.Point(e.getX(), e.getY());
64                psli_g_MapCenter = e.target.tryPixelToLocation(psli_l_Point);
65                psli_g_zoomInitial = Math.round(psli_g_Map.getZoom());
66               
67                document.getElementById("lat").value = psli_g_MapCenter.latitude;
68                document.getElementById("lon").value = psli_g_MapCenter.longitude;
69                document.getElementById("zoom").value = psli_g_zoomInitial;
70                               
71                var pin = new Microsoft.Maps.Pushpin(psli_g_MapCenter);
72                psli_g_Map.entities.clear();
73                psli_g_Map.entities.push(pin);
74               
75                psli_g_Map.setView({center: psli_g_MapCenter, zoom: psli_g_zoomInitial});       
76        }
77}
78         
79function psli_AdminUpdateMap() {
80        psli_g_MapCenter = new Microsoft.Maps.Location(document.getElementById("lat").value, document.getElementById("lon").value);
81        psli_g_zoomInitial = parseInt(document.getElementById("zoom").value);
82       
83        var pin = new Microsoft.Maps.Pushpin(psli_g_MapCenter);
84        psli_g_Map.entities.clear();
85        psli_g_Map.entities.push(pin);
86       
87        psli_g_MapOptions.zoom = psli_g_zoomInitial;
88        psli_g_MapOptions.center = psli_g_MapCenter;
89        psli_g_Map.setView(psli_g_MapOptions); 
90}
Note: See TracBrowser for help on using the repository browser.