1

編集:解決:

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

私はカットアンドペーストのコーダーであり、構文をよりよく学習するつもりですが、今のところ期限が迫っているので、助けを求めています。私は広範囲にグーグルで検索しましたが、問題の解決策はありますが、自分に合った解決策が見つかりませんでした. 私の KML ファイルは Google ドライブでホストされているため、ファイル URL の代わりに driveFileId があります。

ビューポートを保持したい場合は、通常、それをレイヤー オブジェクトに追加して「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>
4

2 に答える 2

1

とった!

ここにあります:

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

次に、myOptions オブジェクトでデフォルトのズームを設定します。ここに解決策があります: Google マップ v3 - @ChrisV のおかげで、表示可能な領域とズーム レベルを制限します。理由はわかりませんが、KML レイヤーは元の preserveViewport コードの順列を許可しません。

于 2013-06-22T00:00:24.847 に答える