From c385fd635b45c33520509edfd7cf01038cb2a904 Mon Sep 17 00:00:00 2001 From: Justin Settle Date: Wed, 11 Mar 2020 10:27:46 -0400 Subject: [PATCH] Add fallback to use OpenStreetMap/Wikipedia Maps --- htdocs/map.js | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/htdocs/map.js b/htdocs/map.js index 95cfa97..12f295b 100644 --- a/htdocs/map.js +++ b/htdocs/map.js @@ -215,13 +215,39 @@ case "config": var config = json.value; if (!map) $.getScript("https://maps.googleapis.com/maps/api/js?key=" + config.google_maps_api_key).done(function(){ - map = new google.maps.Map($('.openwebrx-map')[0], { - center: { - lat: config.receiver_gps[0], - lng: config.receiver_gps[1] - }, - zoom: 5 - }); + if (config.google_maps_api_key){ + map = new google.maps.Map($('.openwebrx-map')[0], { + center: { + lat: config.receiver_gps[0], + lng: config.receiver_gps[1] + }, + zoom: 5 + }); + } else { + var mapTypeIds = []; + for(var type in google.maps.MapTypeId) { + mapTypeIds.push(google.maps.MapTypeId[type]); + } + mapTypeIds.push("OSM"); + + map = new google.maps.Map($('.openwebrx-map')[0], { + center: { + lat: config.receiver_gps[0], + lng: config.receiver_gps[1] + }, + zoom: 5, + mapTypeId: "OSM" + }); + + map.mapTypes.set("OSM", new google.maps.ImageMapType({ + getTileUrl: function(coord, zoom) { + return "https://maps.wikimedia.org/osm-intl/" + zoom + "/" + coord.x + "/" + coord.y + ".png"; + }, + tileSize: new google.maps.Size(256, 256), + name: "OpenStreetMap", + maxZoom: 18 + })); + } $.getScript("static/lib/nite-overlay.js").done(function(){ nite.init(map); setInterval(function() { nite.refresh() }, 10000); // every 10s