1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
// $Id$
// Load Google Maps API
//google.load("maps", "3");
// Global variables
var map, mapExtension, gOverlays;
// Setup custom GMap Overlays
function gmap_arcgis() {
/**
* Use a timer to make sure everything is loaded upon execution time.
* See http://drupal.org/node/223613#comment-736303
*/
setTimeout(function() {
// Variables
var polygons = new Array();
var labels = new Array();
var fields = new Array();
var id = 'auto1map';
var content, label;
// Get data from Drupal
if (Drupal.settings.gmap_arcgis !== undefined) {
// Get array of labels
if (Drupal.settings.gmap_arcgis.labels !== undefined) {
labels = Drupal.settings.gmap_arcgis.labels;
}
// Get Map Id
if (Drupal.settings.gmap_arcgis.id !== undefined) {
id = Drupal.settings.gmap_arcgis.id;
}
}
// Get an existing GMap instance using Drupal GMap Module API
map = Drupal.gmap.getMap(id).map;
gmapArcgisShowPolygons(map, Drupal.settings.gmap_arcgis.polygons);
}, 5);
}
// Show all defined polygons
function gmapArcgisShowPolygons(map, polygons) {
for (j = 0; j < polygons.length; j++) {
showPolygon(map, polygons[j]);
}
}
// Hide all defined polygons
function gmapArcgisHidePolygons(map, polygons) {
for (j = 0; j < polygons.length; j++) {
polygons[j].overlay.setOpacity(0);
unblockUI();
}
}
// Add polygons from a given ArcGIS MapServer Layer
function showPolygon(map, polygon) {
var defaultOpacity = 0.55;
if (typeof polygon.overlay != 'undefined') {
polygon.overlay.setOpacity(defaultOpacity);
unblockUI();
return;
}
uri = polygon['base'] + polygon['service'];
layers = polygon['layers'];
polygon.overlay = new gmaps.ags.MapOverlay(uri, {
exportOptions: {
layerIds: layers,
layerOption: 'show',
}
});
polygon.overlay.setMap(map);
polygon.overlay.setOpacity(defaultOpacity);
google.maps.event.addListener(polygon.overlay.getMapService(), 'load', function() {
unblockUI();
});
}
// UI unblocker wrapper
function unblockUI() {
$.unblockUI();
}
// UI blocker wrapper
function blockUI() {
$.blockUI();
}
// Add map overlays
$(document).ready(function() {
google.setOnLoadCallback(gmap_arcgis);
$('#edit-lista-uc').change(function() {
// TODO: this is still needed?
//oelem = $("option:selected", this).val();
//marcador = Drupal.gmap.getMap('auto1map').vars.markers[oelem];
//GEvent.trigger(marcador.marker,"click");
$('#header').hide();
$('#nav').hide();
});
});
|