import { XYZ } from 'ol/source.js'; import TileLayer from 'ol/layer/Tile'; // from https://stackoverflow.com/q/32454234 var quadkey = function (x, y, z) { var quadKey = []; for (var i = z; i > 0; i--) { var digit = '0'; var mask = 1 << (i - 1); if ((x & mask) != 0) { digit++; } if ((y & mask) != 0) { digit++; digit++; } quadKey.push(digit); } return quadKey.join(''); }; const cellular_layers = { name: "Cellular Providers", layers: [ // { // name: "Verizon", // // enabled: true, // layer: new VectorTileLayer({ // source: new VectorTileSource({ // format: new MVT(), // // https://api.mapbox.com/v4/gismaps.3knn09ds,gismaps.2x81tn8t,mapbox.mapbox-streets-v8,gismaps.aq7mk519,mapbox.country-boundaries-v1,gismaps.cbihlc9h,gismaps.7is2087g,gismaps.8hjkv530/7/31/46.vector.pbf // // url: 'https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/{z}/{y}/{x}.pbf', // url: 'https://api.mapbox.com/v4/gismaps.3knn09ds,gismaps.2x81tn8t,mapbox.mapbox-streets-v8,gismaps.aq7mk519,mapbox.country-boundaries-v1,gismaps.cbihlc9h,gismaps.7is2087g,gismaps.8hjkv530/{z}/{y}/{x}.pbf' // }), // }), // }, { name: "AT&T Domestic", layer: new TileLayer({ opacity: 0.5, source: new XYZ({ tileUrlFunction: function (tileCoord, pixelRatio, projection) { var z = tileCoord[0]; var x = tileCoord[1]; var y = tileCoord[2]; return "https://geolink-igw.cloud.att.com/mapservice/quadkeytile?layer=attDomestic&quadkey=" + quadkey(x, y, z); }, }), }), }, { name: "AT&T Prepaid", layer: new TileLayer({ opacity: 0.5, source: new XYZ({ tileUrlFunction: function (tileCoord, pixelRatio, projection) { var z = tileCoord[0]; var x = tileCoord[1]; var y = tileCoord[2]; return "https://geolink-igw.cloud.att.com/mapservice/quadkeytile?layer=attPrepaid&quadkey=" + quadkey(x, y, z); }, }), }), }, { name: "AT&T International", layer: new TileLayer({ opacity: 0.5, source: new XYZ({ tileUrlFunction: function (tileCoord, pixelRatio, projection) { var z = tileCoord[0]; var x = tileCoord[1]; var y = tileCoord[2]; return "https://geolink-igw.cloud.att.com/mapservice/quadkeytile?layer=attIntl&quadkey=" + quadkey(x, y, z); }, }), }), }, { name: "Sprint 5G? (may also be T-Mo now); see Sprint for legends", layer: new TileLayer({ opacity: 0.5, source: new XYZ({ // url: 'https://coverage.sprint.com/MapTile/5GDataMap/Tiles/data_xp_5G/{z}/{x}:{y}/tile.png' tileUrlFunction: function (tileCoord, pixelRatio, projection) { var z = tileCoord[0]+1; var x = tileCoord[1]+1; var y = tileCoord[2]+1; return `https://coverage.sprint.com/MapTile/5GDataMap/Tiles/data_xp_5G/${z}/${x}:${y}/tile.png`; }, }), }), }, { name: "Sprint LTE? (may also be T-Mo now)", layer: new TileLayer({ opacity: 0.5, source: new XYZ({ // url: 'https://coverage.sprint.com/MapTile/5GDataMap/Tiles/data_xp_lte/{z}/{x}:{y}/tile.png' tileUrlFunction: function (tileCoord, pixelRatio, projection) { var z = tileCoord[0]+1; var x = tileCoord[1]+1; var y = tileCoord[2]+1; return `https://coverage.sprint.com/MapTile/5GDataMap/Tiles/data_xp_lte/${z}/${x}:${y}/tile.png`; }, }), }), }, { name: "Sprint non-LTE? (may also be T-Mo now)", layer: new TileLayer({ opacity: 0.5, source: new XYZ({ // url: 'https://coverage.sprint.com/MapTile/5GDataMap/Tiles/data_xp_5G/{z}/{x}:{y}/tile.png' tileUrlFunction: function (tileCoord, pixelRatio, projection) { var z = tileCoord[0]+1; var x = tileCoord[1]+1; var y = tileCoord[2]+1; return `https://coverage.sprint.com/MapTile/5GDataMap/Tiles/data_xp_3G/${z}/${x}:${y}/tile.png`; }, }), }), }, ], }; export default cellular_layers;