假设你打开这张地图:
https://www.google.com.au/maps/@-33.8654593,151.2082297,15z
平移时,您会看到正在加载地图。它现在当然更好,因为地图是在画布元素中绘制的矢量。但是你还需要等待一段时间。
在Google Maps API(docs)中使用Map对象的panTo
方法时也会发生同样的情况。这主要是我的问题。我想在已经预加载的谷歌地图的某个区域使用JavaScript,因此用户即使在制作动画时也能看到整个视图。
有没有办法指定要预加载的地图区域,以免加载?
答案 0 :(得分:1)
不,遗憾的是,作为JavaScript API的一部分,无法做到这一点。
答案 1 :(得分:0)
除了@ Gady的回答,我还准备了一个技巧,为我做了一个工作 - 我制作的地图比我的屏幕大,所以也加载了不可见的区域。这是代码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map-canvas { width: 300%; left: -100%; height: 300%; top: -100%; }
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=API_KEY&sensor=true">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"/>
</body>
</html>