我的代码如下。
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html, body { height: 100%; margin: 0; padding: 0; }
#map { height: 100%; }
</style>
</head>
<body>
<input type="hidden" id="zoom_data" value="8">
<div id="map"></div>
<script type="text/javascript">
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: $('zoom_data').val()
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
</body>
</html>
但地图是空白的。我只是想在本地动态设置缩放,而不是从服务器。有什么建议吗?
答案 0 :(得分:0)
尝试以下代码。您需要使用document.getElementById()来获取隐藏字段的值,然后在将其用作缩放参数之前将其转换为数字。
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html, body { height: 100%; margin: 0; padding: 0; }
#map { height: 100%; }
</style>
</head>
<body>
<input type="hidden" id="zoom_data" value="8">
<div id="map"></div>
<script type="text/javascript">
var map;
function initMap() {
var zoom = document.getElementById('zoom_data').value;
var nZoom = Number(zoom);
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: nZoom
});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
希望它有所帮助!