PageSourceSearch

https://polandbike.pl/wp-content/plugins/wd-google-maps/js/init_map.js?ver=5.0.38

js polandbike.pl collected 2026-10-07 03:22:49 UTC 31,225 bytes, 684 lines download raw bytes

1////////////////////////////////////////////////////////////////////////////////////////
2// Events                                                                             //
3////////////////////////////////////////////////////////////////////////////////////////
4////////////////////////////////////////////////////////////////////////////////////////
5// Constants                                                                          //
6////////////////////////////////////////////////////////////////////////////////////////
7////////////////////////////////////////////////////////////////////////////////////////
8// Variables                                                                          //
9////////////////////////////////////////////////////////////////////////////////////////
10var gmwdmapDataOptions = [];
11
12////////////////////////////////////////////////////////////////////////////////////////
13// Constructor & Destructor                                                           //
14////////////////////////////////////////////////////////////////////////////////////////
15
16function gmwdInitMainMap(el, excludeOverlays, key){
17
18	gmwdmapData["main_map" + key] = new google.maps.Map(document.getElementById(el), {
19		center: {lat: gmwdmapData["centerLat" + key], lng: gmwdmapData["centerLng" + key]},		
20		zoom: gmwdmapData["zoom" + key],
21		maxZoom: gmwdmapData["maxZoom" + key],
22		minZoom: gmwdmapData["minZoom" + key],
23		scrollwheel: gmwdmapData["mapWhellScrolling" + key],
24		draggable: gmwdmapData["mapDragable" + key],	
25        disableDoubleClickZoom: gmwdmapData["mapDbClickZoom" + key],	        
26		zoomControl: gmwdmapData["enableZoomControl" + key],
27		mapTypeControl: gmwdmapData["enableMapTypeControl" + key],
28		scaleControl: gmwdmapData["enableScaleControl" + key],
29		streetViewControl: gmwdmapData["enableStreetViewControl" + key],
30		fullscreenControl: gmwdmapData["enableFullscreenControl" + key],
31		rotateControl: gmwdmapData["enableRotateControl" + key], 
32        zoomControlOptions:{
33            position: gmwdmapData["zoomControlPosition" + key] 
34        },
35        mapTypeControlOptions:{
36            position: gmwdmapData["mapTypeControlPosition" + key],
37            style: gmwdmapData["mapTypeControlStyle" + key]
38        }, 
39        fullscreenControlOptions:{
40            position: gmwdmapData["fullscreenControlPosition" + key] 
41        },	
42        streetViewControlOptions:{
43            position: gmwdmapData["streetViewControlPosition" + key] 
44        },
45 		
46	}); 
47    gmwdmapData["main_map" + key].setTilt(45);
48	gmwdSetMapTypeId(key);
49	
50
51	//themes   
52    jQuery("#wd-map" + key).css("border-radius", gmwdmapData["mapBorderRadius" + key] + "px");
53	gmwdmapData["main_map" + key].setOptions({styles:eval(gmwdmapData["mapTheme" + key])});
54	
55	//layers
56	gmwdSetLayers("bike", key);
57	gmwdSetLayers("traffic", key);
58	gmwdSetLayers("transit", key);
59	gmwdSetGeoRSSURL(key);
60	gmwdSetKMLURL(key);
61	gmwdSetFusionTableId(key);
62    
63	if(excludeOverlays == false){
64        // overlays
65        gmwdSetMapMarkers(key);
66        gmwdSetMapCircles(key);
67        gmwdSetMapPolygons(key);
68        gmwdSetMapPolylines(key);
69        gmwdSetMapRectangles(key);
70    }
71	
72}
73
74function gmwdSetMapMarkers(_key){
75	var mapMarker;
76    gmwdmapData["allMarkers" + _key] = [];
77    if(Object.keys(gmwdmapData["mapMarkers" + _key]).length > 0){
78        for(var key in gmwdmapData["mapMarkers" + _key]){
79            mapMarker = gmwdmapData["mapMarkers" + _key][key];
80            var marker = new google.maps.Marker({
81                map: gmwdmapData["main_map" + _key],
82                position: {lat: Number(mapMarker.lat), lng: Number(mapMarker.lng)}
83            });
84            gmwdmapData["allMarkers" + _key].push(marker);
85            var infoWindow;
86            if(mapMarker.enable_info_window == 1){
87                contentString = '';
88                if(mapMarker.pic_url && gmwdmapData["infoWindowInfo" + _key].indexOf("pic") != -1){
89                    contentString =  '<img src="' + mapMarker.pic_url + '"  style="float:right; margin-left: 10px; max-width:100px">';
90                }
91                if(gmwdmapData["infoWindowInfo" + _key].indexOf("title") != -1){
92                    contentString += '<div class="gmwd-infowindow-title">' + mapMarker.title + '</div>';
93                }
94                if(gmwdmapData["infoWindowInfo" + _key].indexOf("address") != -1){
95
96                    contentString += '<div class="gmwd-infowindow-address">' +  mapMarker.address + '</div>';
97                } 
98                if(gmwdmapData["infoWindowInfo" + _key].indexOf("desc") != -1){
99                    var description = typeof mapMarker.description == "object" ? decodeEntities(mapMarker.description.join("<br>")) : decodeEntities(mapMarker.description);
100                    contentString += "<div style='max-width:300px;' class='gmwd-infowindow-description'>" + description + "</div>";
101                } 
102                if(gmwdmapData["enableDirections" + _key] == 1){
103                    contentString += "<div style='clear:both;'> <a href='javascript:void(0)' data-lat='" + Number(mapMarker.lat) + "' data-lng='" + Number(mapMarker.lng) + "' data-address='" + mapMarker.address + "' class='gmwd_direction' data-key='" + _key + "' onclick='showDirectionsBox(this);'>Get Directions</a></div>";
104                }
105                infoWindow = new google.maps.InfoWindow({
106                    content: contentString,
107                    disableAutoPan: false
108                });	
109                if(mapMarker.info_window_open == 1){
110                    infoWindow.open(gmwdmapData["main_map" + _key], marker);
111                }
112                gmwdmapData["infoWindows" + _key].push(infoWindow);
113            }
114        
115            if(mapMarker.title){
116                marker.setTitle(mapMarker.title);
117            }
118
119            var size = Number(mapMarker.marker_size); 
120            if(mapMarker.custom_marker_url){          
121                var image = {
122                    url : mapMarker.custom_marker_url,
123                    scaledSize: new google.maps.Size(size, size)
124                };           
125                marker.setIcon(image);
126            } 
127            else if(markerDefaultIcon){ 
128                var image = {
129                    url : markerDefaultIcon,
130                    scaledSize: new google.maps.Size(size, size)
131                };         
132                marker.setIcon(image);
133            }		
134            
135            if(mapMarker.animation == "BOUNCE"){
136                marker.setAnimation(google.maps.Animation.BOUNCE)
137              }
138              else if(mapMarker.animation == "DROP"){
139                marker.setAnimation(google.maps.Animation.DROP)
140              } 
141              else{
142                marker.setAnimation(null);
143              }
144            
145            //events
146            (function(overlay, row, overlayWindow, map, openEvent, overlayWindows, infoWindowtype, _key) { 
147        
148                google.maps.event.addListener(overlay, 'click', function() {
149                    if(row.link_url){
150                        window.open(row.link_url);
151                    }
152                    if(openEvent == "click"){
153                      
154                        if(overlayWindow && row.enable_info_window == 1){
155                            for(var j=0; j < overlayWindows.length; j++){
156                                overlayWindows[j].open(null, null);
157                            }
158                            
159                            if(overlayWindow && infoWindowtype == 0){
160                                overlayWindow.open(map, overlay);	
161                            }
162                            else if(infoWindowtype == 1){
163                                gmwdAdvancedInfoWindow(row, _key);
164                            }
165                        }
166                    }				
167                });
168                google.maps.event.addListener(overlay, 'mouseover', function() {		
169                    if(openEvent == "hover"){
170                        
171                        if(row.enable_info_window == 1){
172                            for(var j=0; j < overlayWindows.length; j++){
173                                overlayWindows[j].open(null, null);
174                            }
175                            if(overlayWindow && infoWindowtype == 0){
176                                overlayWindow.open(map, overlay);	
177                            }
178                            else if(infoWindowtype == 1){
179                                gmwdAdvancedInfoWindow(row, _key);
180                            }
181                        }
182                    }				
183                });
184            
185            }(marker, mapMarker, infoWindow, gmwdmapData["main_map" + _key], gmwdmapData["infoWindowOpenOn" + _key],  gmwdmapData["infoWindows" + _key], gmwdmapData["infoWindowtype" + _key], _key));
186        
187        }
188    }
189
190    if(typeof gmwdmapData["markerCLustering" + _key] != "undefined" && gmwdmapData["markerCLustering" + _key] == "1" ){
191        var options = [gmwdmapData["markerCLusteringZoom" + _key], gmwdmapData["markerCLusteringSize" + _key], gmwdmapData["markerCLusteringStyle" + _key]];
192       
193        createMarkerCluster(gmwdmapData["allMarkers" + _key], gmwdmapData["main_map" + _key], options); 
194    }
195}
196
197function gmwdSetMapCircles(_key){
198	var mapCircle, circle, circleHover, circlMarker;
199    if(Object.keys(gmwdmapData["mapCircles" + _key]).length > 0){
200        for(var key in gmwdmapData["mapCircles" + _key]){
201            mapCircle = gmwdmapData["mapCircles" + _key][key];
202             
203            if(mapCircle.show_marker == 1){
204                circleMarker = new google.maps.Marker({
205                    map: gmwdmapData["main_map" + _key],
206                    position: {lat: Number(mapCircle.center_lat), lng: Number(mapCircle.center_lng) }
207                });
208                if(markerDefaultIcon){	
209                    var image = {
210                        url : markerDefaultIcon,
211                        scaledSize: new google.maps.Size(32, 32)
212                    };             
213                    circleMarker.setIcon(image);
214                }          
215                circleMarker.setMap(gmwdmapData["main_map" + _key]);
216                 if(mapCircle.enable_info_window == 1){
217                    (function(circleMarker) { 
218                        var infoWindow = new google.maps.InfoWindow({
219                            content: mapCircle.center_address,
220							disableAutoPan: false
221                        });
222                        google.maps.event.addListener(circleMarker, 'click', function() {
223                            for(var j=0; j < gmwdmapData["infoWindows" + _key].length; j++){
224                                gmwdmapData["infoWindows" + _key][j].open(null, null);
225                            } 
226                            infoWindow.open(gmwdmapData["main_map" + _key], circleMarker);
227                            gmwdmapData["infoWindows" + _key].push(infoWindow);                            
228                        });                   
229                    }(circleMarker));
230                }                
231                gmwdmapData["allCircleMarkers" + _key].push(circlMarker);
232            }
233                  
234             circle = new google.maps.Circle({
235                strokeWeight:Number(mapCircle.line_width),
236                strokeColor: "#" + mapCircle.line_color,
237                strokeOpacity: Number(mapCircle.line_opacity),
238                fillColor: "#" + mapCircle.fill_color,
239                fillOpacity: Number(mapCircle.fill_opacity),
240                center: {lat: Number(mapCircle.center_lat), lng: Number(mapCircle.center_lng) },
241                radius: Number(mapCircle.radius)
242            });
243            
244            circleHover = new google.maps.Circle({
245                strokeWeight:Number(mapCircle.line_width),
246                strokeColor: "#" + mapCircle.line_color_hover,
247                strokeOpacity: Number(mapCircle.line_opacity_hover),
248                fillColor: "#" + mapCircle.fill_color_hover,
249                fillOpacity: Number(mapCircle.fill_opacity_hover),
250                center: {lat: Number(mapCircle.center_lat), lng: Number(mapCircle.center_lng) },
251                radius: Number(mapCircle.radius)
252            });
253            
254            gmwdmapData["allCircles" + _key].push(circle,circleHover);
255            circle.setMap(gmwdmapData["main_map" + _key]);
256            
257            //events
258            (function(overlay, overlayHover, row, map) { 
259
260                google.maps.event.addListener(overlayHover, 'click', function() {
261                    if(row.link)
262                        window.open(row.link);
263                });
264                    
265                google.maps.event.addListener(overlay,"mouseover",function(){
266                    overlay.setMap(null);
267                    overlayHover.setOptions({strokeWeight: Number(row.line_width)});
268                    overlayHover.setOptions({radius: Number(row.radius)});
269                    overlayHover.setMap(map);
270                }); 
271                google.maps.event.addListener(overlayHover,"mouseover",function(){
272                    if(row.title){
273                        this.getMap().getDiv().setAttribute('title',row.title);
274                     }				
275                });
276                google.maps.event.addListener(overlayHover,"mouseout",function(){
277                    this.getMap().getDiv().removeAttribute('title');
278                    overlayHover.setMap(null);				
279                    overlay.setMap(map);				
280                }); 		
281            
282            }(circle, circleHover, mapCircle, gmwdmapData["main_map" + _key]));	
283
284        }
285    }
286
287}
288
289function gmwdSetMapRectangles(_key){
290	var mapRectangle, rectangle, rectangleHover,bounds; 
291    if(Object.keys(gmwdmapData["mapRectangles" + _key]).length > 0){
292        for(var key in gmwdmapData["mapRectangles" + _key]){
293            var bounds = [];
294            mapRectangle = gmwdmapData["mapRectangles" + _key][key];
295            var southWestAr = mapRectangle.south_west.split(",");
296            var northEastAr = mapRectangle.north_east.split(",");
297            var southWest = new google.maps.LatLng(Number(southWestAr[0]),Number(southWestAr[1]));
298            var northEast = new google.maps.LatLng(Number(northEastAr[0]),Number(northEastAr[1])); 
299            
300            bounds = new google.maps.LatLngBounds(southWest,northEast);  
301            if(mapRectangle.show_markers == 1){
302                var topPositions = [];
303                topPositions.push(new google.maps.LatLng(southWest.lat(), southWest.lng()));
304                topPositions.push(new google.maps.LatLng(northEast.lat(), southWest.lng()));
305                topPositions.push(new google.maps.LatLng(northEast.lat(), northEast.lng()));
306                topPositions.push(new google.maps.LatLng(southWest.lat(), northEast.lng()));
307                for(var j=0; j<topPositions.length; j++){
308                    var marker = new google.maps.Marker({
309                        position: topPositions[j],
310                        map: gmwdmapData["main_map" + _key]		
311                    });
312                    if(markerDefaultIcon){	
313                        var image = {
314                            url : markerDefaultIcon,
315                            scaledSize: new google.maps.Size(32, 32)
316                        };             
317                        marker.setIcon(image);
318                    }
319                    if(mapRectangle.enable_info_windows == 1){  
320                        showPoiInfoWindow(gmwdmapData["main_map" + _key], marker, _key);
321                    }                     
322                }
323            }
324            rectangle = new google.maps.Rectangle({
325                strokeWeight:Number(mapRectangle.line_width),
326                strokeColor: "#" + mapRectangle.line_color,
327                strokeOpacity: Number(mapRectangle.line_opacity),
328                fillColor: "#" + mapRectangle.fill_color,
329                fillOpacity: Number(mapRectangle.fill_opacity),
330                bounds: bounds,
331            });
332            
333            rectangleHover = new google.maps.Rectangle({
334                strokeWeight:Number(mapRectangle.line_width),
335                strokeColor: "#" + mapRectangle.line_color_hover,
336                strokeOpacity: Number(mapRectangle.line_opacity_hover),
337                fillColor: "#" + mapRectangle.fill_color_hover,
338                fillOpacity: Number(mapRectangle.fill_opacity_hover),
339                bounds: bounds,
340            });
341            gmwdmapData["allRectangles" + _key].push(rectangle, rectangleHover);
342            rectangle.setMap(gmwdmapData["main_map" + _key]);
343            
344            (function(overlay, overlayHover, row, map) { 
345                google.maps.event.addListener(overlayHover, 'click', function() {
346                    if(row.link)
347                        window.open(row.link);
348                });
349                    
350                google.maps.event.addListener(overlay,"mouseover",function(){
351                    overlay.setMap(null);
352                    overlayHover.setMap(map);
353                }); 
354                google.maps.event.addListener(overlayHover,"mouseover",function(){
355                    if(row.title){
356                        this.getMap().getDiv().setAttribute('title',row.title);
357                     }				
358                });
359                google.maps.event.addListener(overlayHover,"mouseout",function(){
360                    this.getMap().getDiv().removeAttribute('title');
361                    overlayHover.setMap(null);				
362                    overlay.setMap(map);				
363                }); 		
364            
365            }(rectangle, rectangleHover, mapRectangle, gmwdmapData["main_map" + _key]));	       
366            
367        }
368    }
369}
370function gmwdSetMapPolygons(_key){
371	var mapPolygon, polygon, polygonHover;
372    var polygonsByAreas = {};
373    var polygonsAreas = [];
374    if(Object.keys(gmwdmapData["mapPolygons" + _key]).length > 0){
375        for(var key in gmwdmapData["mapPolygons" + _key]){
376            var polygonCoord = [];
377            mapPolygon = gmwdmapData["mapPolygons" + _key][key];
378            polygonData = mapPolygon.data.substr(1, mapPolygon.data.length-4).split("),(");
379            for(var j=0; j<polygonData.length; j++){
380                var polygonMarker = polygonData[j].split(",");
381                if(mapPolygon.show_markers == 1){										
382                    var marker = new google.maps.Marker({
383                        map: gmwdmapData["main_map" + _key],
384                        position: {lat: Number(polygonMarker[0]), lng: Number(polygonMarker[1]) }
385                    });
386                    if(markerDefaultIcon){	
387                        var image = {
388                            url : markerDefaultIcon,
389                            scaledSize: new google.maps.Size(32, 32)
390                        };             
391                        marker.setIcon(image);
392                    }                     
393                    marker.setMap(gmwdmapData["main_map" + _key]);
394                    gmwdmapData["allPolygonMarkers" + _key].push(marker);
395                }
396                if(mapPolygon.enable_info_windows == 1){  
397                    showPoiInfoWindow(gmwdmapData["main_map" + _key], marker, _key);
398                }
399                polygonCoord.push(new google.maps.LatLng( Number(polygonMarker[0]), Number(polygonMarker[1])));
400            }
401            
402            polygon = new google.maps.Polygon({
403                strokeWeight:Number(mapPolygon.line_width),
404                strokeColor: "#" + mapPolygon.line_color,
405                strokeOpacity: Number(mapPolygon.line_opacity),
406                fillColor: "#" + mapPolygon.fill_color,
407                fillOpacity: Number(mapPolygon.fill_opacity),
408                paths: polygonCoord,
409            });
410            
411            polygonHover = new google.maps.Polygon({
412                strokeWeight:Number(mapPolygon.line_width),
413                strokeColor: "#" + mapPolygon.line_color_hover,
414                strokeOpacity: Number(mapPolygon.line_opacity_hover),
415                fillColor: "#" + mapPolygon.fill_color_hover,
416                fillOpacity: Number(mapPolygon.fill_opacity_hover),
417                paths: polygonCoord,
418            });
419            gmwdmapData["allPolygons" + _key].push(polygon, polygonHover);
420           // polygon.setMap(gmwdmapData["main_map" + _key]);
421            var polygonArea = google.maps.geometry.spherical.computeArea(polygon.getPath());
422            polygonsByAreas[polygonArea] = [polygon,polygonHover]; 
423            polygonsAreas.push(polygonArea);
424            (function(overlay, overlayHover, row, map) { 
425                google.maps.event.addListener(overlayHover, 'click', function() {
426                    if(row.link)
427                        window.open(row.link);
428                });
429                    
430                google.maps.event.addListener(overlay,"mouseover",function(){
431                    overlay.setMap(null);
432                    overlayHover.setMap(map);
433                }); 
434                google.maps.event.addListener(overlayHover,"mouseover",function(){
435                    if(row.title){
436                        this.getMap().getDiv().setAttribute('title',row.title);
437                     }				
438                });
439                google.maps.event.addListener(overlayHover,"mouseout",function(){
440                    this.getMap().getDiv().removeAttribute('title');
441                    overlayHover.setMap(null);				
442                    overlay.setMap(map);				
443                });
444            
445            }(polygon, polygonHover, mapPolygon, gmwdmapData["main_map" + _key]));	
446           
447        }
448    }
449    polygonsAreas.sort(function(a,b){return b - a});
450
451    for(var i=0; i< polygonsAreas.length ; i++){
452        polygonsByAreas[polygonsAreas[i]][0].setMap(gmwdmapData["main_map" + _key]);
453        polygonsByAreas[polygonsAreas[i]][0].setOptions({zIndex: i+1});
454        polygonsByAreas[polygonsAreas[i]][1].setOptions({zIndex: i+1});
455     
456    }
457	
458}
459
460function gmwdSetMapPolylines(_key){
461	var mapPolyline, polyline, polylineHover; 
462	if(Object.keys(gmwdmapData["mapPolylines" + _key]).length > 0){
463        for(var key in gmwdmapData["mapPolylines" + _key]){
464            var polylineCoord = [];
465            mapPolyline = gmwdmapData["mapPolylines" + _key][key];
466            polylineData = mapPolyline.data.substr(1, mapPolyline.data.length-4).split("),(");
467            for(var j=0; j<polylineData.length; j++){
468                var polylineMarker = polylineData[j].split(",");
469                if(mapPolyline.show_markers == 1){										
470                    var marker = new google.maps.Marker({
471                        map: gmwdmapData["main_map" + _key],
472                        position: {lat: Number(polylineMarker[0]), lng: Number(polylineMarker[1]) }
473                    });
474                    gmwdmapData["allPolylineMarkers" + _key].push(marker);
475                    if(markerDefaultIcon){	
476                        var image = {
477                            url : markerDefaultIcon,
478                            scaledSize: new google.maps.Size(32, 32)
479                        };             
480                        marker.setIcon(image);
481                    }                     
482                    marker.setMap(gmwdmapData["main_map" + _key]);
483                }
484                if(mapPolyline.enable_info_windows == 1){  
485                    showPoiInfoWindow(gmwdmapData["main_map" + _key], marker, _key);
486                }               
487                polylineCoord.push(new google.maps.LatLng( Number(polylineMarker[0]), Number(polylineMarker[1])));
488            }
489            
490            polyline = new google.maps.Polyline({
491                strokeWeight:Number(mapPolyline.line_width),
492                strokeColor: "#" + mapPolyline.line_color,
493                strokeOpacity: Number(mapPolyline.line_opacity),
494                path: polylineCoord,
495                geodesic: true,
496            });
497
498            polylineHover = new google.maps.Polyline({
499                strokeWeight:Number(mapPolyline.line_width),
500                strokeColor: "#" + mapPolyline.line_color_hover,
501                strokeOpacity: Number(mapPolyline.line_opacity_hover),
502                path: polylineCoord,
503                geodesic: true,
504            });
505            gmwdmapData["allPolylines" + _key].push(polyline, polylineHover );
506            polyline.setMap(gmwdmapData["main_map" + _key]);
507            
508            (function(overlay, overlayHover, row, map) { 
509                google.maps.event.addListener(overlayHover, 'click', function() {
510                    if(row.link)
511                        window.open(row.link);
512                });
513                    
514                google.maps.event.addListener(overlay,"mouseover",function(){
515                    overlay.setMap(null);
516                    overlayHover.setMap(map);
517                }); 
518                google.maps.event.addListener(overlayHover,"mouseover",function(){
519                    if(row.title){
520                        this.getMap().getDiv().setAttribute('title',row.title);
521                     }				
522                });
523                google.maps.event.addListener(overlayHover,"mouseout",function(){
524                    this.getMap().getDiv().removeAttribute('title');
525                    overlayHover.setMap(null);				
526                    overlay.setMap(map);				
527                }); 
528            
529            }(polyline, polylineHover, mapPolyline, gmwdmapData["main_map" + _key]));	        
530                        
531                
532        }
533    }
534	
535}
536function showPoiInfoWindow(map, marker, key){
537
538   (function(marker, map) { 
539        var geocoder = new google.maps.Geocoder();            
540        geocoder.geocode({       
541            latLng: marker.getPosition()     
542        }, 
543        function(responses) {  
544           if (responses && responses.length > 0) {
545                var infoWindow = new google.maps.InfoWindow({
546                    content: responses[0].formatted_address,
547					disableAutoPan: false					
548                });  
549                 google.maps.event.addListener(marker, 'click', function() {
550                    for(var j=0; j <  gmwdmapData["infoWindows" + key].length; j++){
551                         gmwdmapData["infoWindows" + key][j].open(null, null);
552                    } 
553                    infoWindow.open(map, marker); 
554                    gmwdmapData["infoWindows" + key].push(infoWindow);                    
555                });                        
556           }  
557        }); 
558    }(marker, map));     
559}
560
561////////////////////////////////////////////////////////////////////////////////////////
562// Public Methods                                                                     //
563////////////////////////////////////////////////////////////////////////////////////////
564
565
566function gmwdSetMapTypeId(key){
567	switch(gmwdmapData["mapType" + key]){
568		case "0" :
569			gmwdmapData["main_map" + key].setMapTypeId(google.maps.MapTypeId.ROADMAP);
570			break;
571		case "1" :	
572			gmwdmapData["main_map" + key].setMapTypeId(google.maps.MapTypeId.SATELLITE);
573			break;
574		case "2":	
575			gmwdmapData["main_map" + key].setMapTypeId(google.maps.MapTypeId.HYBRID);
576			break;
577		case "3":		
578			gmwdmapData["main_map" + key].setMapTypeId(google.maps.MapTypeId.TERRAIN);
579			break;				
580	}
581}
582
583
584function gmwdSetLayers(type, key){
585	switch(type){
586		case "bike" :
587			if(gmwdmapData["enableBykeLayer" + key] == 1){
588				 gmwdmapDataOptions["bikeLayer" + key] = new google.maps.BicyclingLayer();
589				 gmwdmapDataOptions["bikeLayer" + key].setMap(gmwdmapData["main_map" + key]);
590			 }
591			 else{
592				if(gmwdmapDataOptions["bikeLayer" + key]){
593					gmwdmapDataOptions["bikeLayer" + key].setMap(null);
594				}
595			 }
596			 break;
597		case "traffic" :	 
598			if(gmwdmapData["enableTrafficLayer" + key] == 1){
599				gmwdmapDataOptions["trafficLayer" + key] = new google.maps.TrafficLayer();
600				gmwdmapDataOptions["trafficLayer" + key].setMap(gmwdmapData["main_map" + key]);
601			 }
602			 else{
603				if(gmwdmapDataOptions["trafficLayer" + key]){
604					gmwdmapDataOptions["trafficLayer" + key].setMap(null);
605				}
606			 }	
607			 break;	
608		case "transit" :	 
609			if(gmwdmapData["enableTransitLayer" + key] == 1){
610				gmwdmapDataOptions["transitLayer" + key] = new google.maps.TransitLayer();
611				gmwdmapDataOptions["transitLayer" + key].setMap(gmwdmapData["main_map" + key]);
612			 }
613			 else{
614				if(gmwdmapDataOptions["transitLayer" + key]){
615					gmwdmapDataOptions["transitLayer" + key].setMap(null);
616				}
617			 }	
618			 break;					 
619	}
620}
621
622function gmwdSetGeoRSSURL(key){
623	if(gmwdmapData["geoRSSURL" + key]){
624		gmwdmapDataOptions["georssLayer" + key] = new google.maps.KmlLayer({
625			url: gmwdmapData["geoRSSURL" + key]
626		  });
627		gmwdmapDataOptions["georssLayer" + key].setMap(gmwdmapData["main_map" + key]);
628	}
629	else{
630		if(gmwdmapDataOptions["georssLayer" + key]){
631			gmwdmapDataOptions["georssLayer" + key].setMap(null);
632		}
633	}
634}
635
636function gmwdSetKMLURL(key){
637	if(gmwdmapData["KMLURL" + key]){
638	  gmwdmapDataOptions["ctaLayer" + key] = new google.maps.KmlLayer({
639		url: gmwdmapData["KMLURL" + key]			
640	  });
641		gmwdmapDataOptions["ctaLayer" + key].setMap(gmwdmapData["main_map" + key]);
642	}
643	else{
644		if(gmwdmapDataOptions["ctaLayer" + key]){
645			gmwdmapDataOptions["ctaLayer" + key].setMap(null);
646		}
647	}
648}
649
650function gmwdSetFusionTableId(key){
651	if(gmwdmapData["fusionTableId" + key]){
652      var fusionTableWhere = (gmwdmapData["fusionTableWhereField" + key] && gmwdmapData["fusionTableWhereOperator" + key] && gmwdmapData["fusionTableWhereValue" + key]) ? "'" + gmwdmapData["fusionTableWhereField" + key].trim() + "' " + gmwdmapData["fusionTableWhereOperator" + key] + ((gmwdmapData["fusionTableWhereOperator" + key] != "IN") ? " '" + gmwdmapData["fusionTableWhereValue" + key].trim() + "'" : " " + gmwdmapData["fusionTableWhereValue" + key].trim()) : '';  
653      
654	  gmwdmapDataOptions["fusionTablesLayer" + key] = new google.maps.FusionTablesLayer({
655		query: {
656		  select: '\'Geocodable address\'',
657		  from: gmwdmapData["fusionTableId" + key],
658          where: fusionTableWhere
659		}
660	  });
661	  gmwdmapDataOptions["fusionTablesLayer" + key].setMap(gmwdmapData["main_map" + key]);
662	}
663	else{
664		if(gmwdmapDataOptions["fusionTablesLayer" + key]){
665			gmwdmapDataOptions["fusionTablesLayer" + key].setMap(null);
666		}
667	}
668
669}
670
671
672
673
674
675////////////////////////////////////////////////////////////////////////////////////////
676// Getters & Setters                                                                  //
677////////////////////////////////////////////////////////////////////////////////////////
678
679////////////////////////////////////////////////////////////////////////////////////////
680// Private Methods                                                                    //
681////////////////////////////////////////////////////////////////////////////////////////
682////////////////////////////////////////////////////////////////////////////////////////
683// Listeners                                                                          //
684////////////////////////////////////////////////////////////////////////////////////////

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.