将带有动态数据的地图添加到 Google 个站点
Adding Map w/ dynamic data to Google Sites
背景
我正在尝试将 Google 地图添加到(新)Google 站点;地图将有多个标记,其数据将根据 Google Sheet.
随时间变化
我在哪里
我已经能够使用“嵌入”选项将带有静态数据的地图直接添加到站点,但我需要使用 Google 动态标记的脚本功能。
问题
当使用相同的 html 脚本并将其与 Google 脚本集成时,文本将显示在 Google 站点上而不是地图上。
代码
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>
代码中填写API_KEY。在此先感谢您的指点。
问题是高度设置为 0 像素;该地图继承自父块元素,该元素未指定大小,导致高度被假定为 0 像素。这可以通过以像素为单位指定高度来解决:
<style type="text/css">
#map {
height: 100%;
width: 100%;
}
</style>
或指定高度应为 HTML 正文的 100%:
<style type="text/css">
#map {
height: 100%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
背景
我正在尝试将 Google 地图添加到(新)Google 站点;地图将有多个标记,其数据将根据 Google Sheet.
随时间变化我在哪里
我已经能够使用“嵌入”选项将带有静态数据的地图直接添加到站点,但我需要使用 Google 动态标记的脚本功能。
问题
当使用相同的 html 脚本并将其与 Google 脚本集成时,文本将显示在 Google 站点上而不是地图上。
代码
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>
代码中填写API_KEY。在此先感谢您的指点。
问题是高度设置为 0 像素;该地图继承自父块元素,该元素未指定大小,导致高度被假定为 0 像素。这可以通过以像素为单位指定高度来解决:
<style type="text/css">
#map {
height: 100%;
width: 100%;
}
</style>
或指定高度应为 HTML 正文的 100%:
<style type="text/css">
#map {
height: 100%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>