X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fsearch%2Ftower-map.html;h=914457d892b1ffda2555ef36bc0e5a5012170c62;hp=9c3ee984ffe0b29defec964719a4d7d38ffb9133;hb=227953e3a6ee41683ea06b3f440946d4007898c3;hpb=41f3ac8d2ba5faada6c6972aff72bff18c4aeb5f
diff --git a/httemplate/search/tower-map.html b/httemplate/search/tower-map.html
index 9c3ee984f..914457d89 100755
--- a/httemplate/search/tower-map.html
+++ b/httemplate/search/tower-map.html
@@ -26,7 +26,23 @@ var baseMarkerStyle = {
strokeWeight: 1,
},
};
-var featureStyle = function(feature) {
+
+var baseCoverageStyle = {
+ clickable: false,
+ strokeWeight: 0.2,
+};
+
+var coverageStyle = function(feature) {
+ var s = $.extend(true, {}, baseCoverageStyle, feature.getProperty('style'));
+ if ( feature.getProperty('low') ) {
+ s.fillOpacity = 0.1;
+ } else if ( feature.getProperty('high') ) {
+ s.fillOpacity = 0.4;
+ }
+ return s;
+}
+
+var markerStyle = function(feature) {
return $.extend(true, {}, baseMarkerStyle, feature.getProperty('style'));
}
@@ -78,11 +94,12 @@ var zoomLayer = function(layer) {
// set up the main layer
var tower_data = new google.maps.Data;
tower_data.addGeoJson(<% encode_json($tower_data) %>);
-tower_data.setStyle(featureStyle);
+tower_data.setStyle(markerStyle);
tower_data.addListener('click', clickHandler);
var towernums = <% encode_json(\@towernums) %>;
var tower_svc_data = {};
+var tower_coverage_data = {};
var revertLayerStyles = function() {
// mostly, just to re-hide all connecting lines when something is hidden
@@ -97,13 +114,20 @@ towernums.forEach(function(towernum) {
layer.loadGeoJson(
'<% $fsurl %>search/svc_broadband-json.cgi?towernum=' + towernum
);
- layer.setStyle(featureStyle);
+ layer.setStyle(markerStyle);
layer.addListener('click', clickHandler);
layer.addListener('click', function(ev) { // show connecting line
var id = ev.feature.getId();
var f_line = layer.getFeatureById(id + '/line');
layer.overrideStyle(f_line, { visible: true});
});
+
+ layer = new google.maps.Data;
+ layer.loadGeoJson(
+ '<% $fsurl %>misc/sector_coverage-json.cgi?towernum=' + towernum
+ );
+ layer.setStyle(coverageStyle);
+ tower_coverage_data[towernum] = layer;
});
function show_svc_data(towernum, show) {
@@ -114,6 +138,14 @@ function show_svc_data(towernum, show) {
}
};
+function show_coverage_data(towernum, show) {
+ if (show) {
+ tower_coverage_data[towernum].setMap(window.map);
+ } else {
+ tower_coverage_data[towernum].setMap(null);
+ }
+};
+
// toggle visibility of the services
infoWindow.addListener('domready', function(ev) {
var show_services_box = $('input[name=show_services]');
@@ -123,6 +155,14 @@ infoWindow.addListener('domready', function(ev) {
show_services_box.on('click', function(clickev) {
show_svc_data(towernum, this.checked);
});
+
+ var show_coverage_box = $('input[name=show_coverage]');
+ var towernum = show_coverage_box.val();
+ var is_shown = tower_coverage_data[towernum].getMap() == map;
+ show_coverage_box.prop('checked', is_shown);
+ show_coverage_box.on('click', function(clickev) {
+ show_coverage_data(towernum, this.checked);
+ });
});
infoWindow.addListener('closeclick', revertLayerStyles);
@@ -256,4 +296,7 @@ Tower #<% $tower->towernum %> | <% $tower->towername %>
<% emt('Show services') %>
( <% $num_up %> <% emt('UP') %>
<% $num_down %> <% emt('DOWN') %> )
+
+
+<% emt('Show coverage') %>
%def>