【发布时间】:2013-06-18 01:35:23
【问题描述】:
编辑:已解决:
var opt = { minZoom: 6, maxZoom: 9 };
map.setOptions(opt);
我是一名剪切粘贴编码员,虽然我打算更好地学习语法,但我现在正处于最后期限,所以我正在寻求帮助。我已经在谷歌上进行了广泛的搜索,虽然我的问题有解决方案,但我还没有找到适合我的解决方案。我的 KML 文件托管在 Google Drive 上,所以不是文件 url,而是 driveFileId。
如果要保留Viewport,通常只需将其添加到图层对象并将其设置为“true”。但是,无论我如何编写,我的 KML 文件都不会让我覆盖其边界适合屏幕的默认缩放级别。有人可以帮忙吗?这是工作对象:
var layer = new google.maps.KmlLayer({
driveFileId: "0Bexampleg"});
layer.setMap(map);
编辑:这就是全部内容。或许您可以查看是否存在导致这种情况的冗余或矛盾。
<!DOCTYPE html>
<html<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=Aexamplekey0&sensor=true"></script>
<style>
#map {
width: 310px;
height: 410px;
}
</style>
<script>
window.onload = function () {
var latlng = new google.maps.LatLng(53.385873, -1.471471);
var styles = [
{
//whatever
}
]
var myOptions = {
zoom: 15,
disableDefaultUI: false,
styles: styles
},
map = new google.maps.Map(document.getElementById('map'), myOptions);
var layer = new google.maps.KmlLayer({
driveFileId: "0Bexampleg"});
layer.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>
【问题讨论】:
-
您是如何将 preserveViewport 选项添加到该代码的?
-
就像下面 Tony 展示的例子。
(var layer = new google.maps.KmlLayer({ driveFileId: "0Bexampleg", preserveViewport: true}); layer.setMap(map);当我这样做时,它只是将我的地图呈现为空白,但我仍然可以看到地图轮廓 - 就好像 kml 层只是挡住了一切。这与地图代码不起作用时不同 - 屏幕只是空白。
标签: google-maps-api-3 kml viewport google-drive-api