1

编辑:解决:

var opt = { minZoom: 6, maxZoom: 9 };
  map.setOptions(opt);

我是一名剪切和粘贴编码器,虽然我打算更好地学习语法,但我现在正处于最后期限,所以我正在寻求帮助。我已经广泛搜索,虽然我的问题有解决方案,但我还没有找到适合我的解决方案。我的 KML 文件托管在 Google Drive 上,因此不是文件 url,而是 driveFileId。

如果要保留视口,通常只需将其添加到图层对象并将其设置为“真”。但是,无论我如何编写,我的 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>
4

2 回答 2

4
于 2013-06-21T19:06:54.090 回答
1

知道了!

这里是:

var opt = { minZoom: 11, maxZoom: 15 };
map.setOptions(opt);

然后在您的 myOptions 对象中设置默认缩放。在此处找到解决方案:Google Maps v3 - 感谢@ChrisV 限制可视区域和缩放级别。我不知道为什么,但 KML 层不允许对原始 preserveViewport 代码进行任何排列。

于 2013-06-22T00:00:24.847 回答