summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/web/gui/src/main/webapp/app/fw/svg/map.js
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/web/gui/src/main/webapp/app/fw/svg/map.js')
-rw-r--r--framework/src/onos/web/gui/src/main/webapp/app/fw/svg/map.js129
1 files changed, 0 insertions, 129 deletions
diff --git a/framework/src/onos/web/gui/src/main/webapp/app/fw/svg/map.js b/framework/src/onos/web/gui/src/main/webapp/app/fw/svg/map.js
deleted file mode 100644
index f8d40f9c..00000000
--- a/framework/src/onos/web/gui/src/main/webapp/app/fw/svg/map.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- ONOS GUI -- SVG -- Map Service
- */
-
-/*
- The Map Service provides a simple API for loading geographical maps into
- an SVG layer. For example, as a background to the Topology View.
-
- e.g. var promise = MapService.loadMapInto(svgLayer, '*continental-us');
-
- The Map Service makes use of the GeoDataService to load the required data
- from the server and to create the appropriate geographical projection.
-
- A promise is returned to the caller, which is resolved with the
- map projection once created.
-*/
-
-(function () {
- 'use strict';
-
- // injected references
- var $log, $q, fs, gds;
-
- // NOTE: This method assumes the datafile has exactly the map data
- // that you want to load; for example id="*continental_us"
- // mapping to ~/data/map/continental_us.topojson contains
- // exactly the paths for the continental US.
-
- function loadMapInto(mapLayer, id, opts) {
- var promise = gds.fetchTopoData(id),
- deferredProjection = $q.defer();
-
- if (!promise) {
- $log.warn('Failed to load map: ' + id);
- return false;
- }
-
- promise.then(function () {
- var gen = gds.createPathGenerator(promise.topodata, opts);
-
- deferredProjection.resolve(gen.settings.projection);
-
- mapLayer.selectAll('path')
- .data(gen.geodata.features)
- .enter()
- .append('path')
- .attr('d', gen.pathgen);
- });
- return deferredProjection.promise;
- }
-
- // ---
-
- // NOTE: This method uses the countries.topojson data file, and then
- // filters the results based on the supplied options.
- // Usage:
- // promise = loadMapRegionInto(svgGroup, {
- // countryFilter: function (country) {
- // return country.properties.continent === 'South America';
- // }
- // });
-
- function loadMapRegionInto(mapLayer, filterOpts) {
- var promise = gds.fetchTopoData("*countries"),
- deferredProjection = $q.defer();
-
- if (!promise) {
- $log.warn('Failed to load countries TopoJSON data');
- return false;
- }
-
- promise.then(function () {
- var width = 1000,
- height = 1000,
- proj = d3.geo.mercator().translate([width/2, height/2]),
- pathGen = d3.geo.path().projection(proj),
- data = promise.topodata,
- features = topojson.feature(data, data.objects.countries).features,
- country = features.filter(filterOpts.countryFilter),
- countryFeature = {
- type: 'FeatureCollection',
- features: country
- },
- path = d3.geo.path().projection(proj);
-
- gds.rescaleProjection(proj, 0.95, 1000, path, countryFeature);
-
- deferredProjection.resolve(proj);
-
- mapLayer.selectAll('path.country')
- .data([countryFeature])
- .enter()
- .append('path').classed('country', true)
- .attr('d', pathGen);
- });
- return deferredProjection.promise;
- }
-
- angular.module('onosSvg')
- .factory('MapService', ['$log', '$q', 'FnService', 'GeoDataService',
- function (_$log_, _$q_, _fs_, _gds_) {
- $log = _$log_;
- $q = _$q_;
- fs = _fs_;
- gds = _gds_;
-
- return {
- loadMapRegionInto: loadMapRegionInto,
- loadMapInto: loadMapInto
- };
- }]);
-
-}());