Background
I am trying to add a Google Map to a (new) Google Sites; the map will have multiple markers whose data will change over time based on a Google Sheet.
Where I am
I have been able to add a map w/ static data directly to the site using the "Embed" option, but I need to use Google Scripts functionality for the dynamic markers.
Problem
When using the same html script and integrating it with Google Scripts, the text will show up on the Google Sites but not the map.
Code
Code.gs
function doGet() {
return HtmlService
.createTemplateFromFile('Index')
.evaluate();
}
Index.html
<!DOCTYPE html>
<html>
<head>
<title>Add Map</title>
<style type="text/css">
#map {
height: 100%;
width: 100%;
}
</style>
<script>
// Initialize and add the map
function initMap() {
// The location of Uluru
const uluru = { lat: -25.344, lng: 131.036 };
// The map, centered at Uluru
const map = new google.maps.Map(document.getElementById("map"), {
zoom: 4,
center: uluru,
});
}
</script>
</head>
<body>
<h3>My Google Maps Demo</h3>
<!--The div element for the map -->
<div id="map"></div>
<!-- Async script executes immediately and must be after any DOM elements used in callback. -->
<script async
src="https://maps.googleapis.com/maps/api/js?key=<API_KEY>&callback=initMap"
>
</script>
</body>
</html>
The API_KEY is filled in in the code. Thanks in advance for any pointers.