0

Google マップ ウィジェットの境界を設定するにはどうすればよいですか? たとえば、[南西コーナー: 40.5, -25.5] - [北東コーナー 79.5, 178.5] の長方形のみが必要です。今、私は別の質問からそのようなコードを使用しています:

var strictBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(40.5, -25.5), 
    new google.maps.LatLng(79.5, 178.5)
);

// Listen for the dragend event
google.maps.event.addListener(map, 'dragend', function() {
    if (strictBounds.contains(map.getCenter())) return;

    // We're out of bounds - Move the map back within the bounds

    var c = map.getCenter(),
        x = c.lng(),
        y = c.lat(),
        maxX = strictBounds.getNorthEast().lng(),
        maxY = strictBounds.getNorthEast().lat(),
        minX = strictBounds.getSouthWest().lng(),
        minY = strictBounds.getSouthWest().lat();

        if (x < minX) x = minX;
        if (x > maxX) x = maxX;
        if (y < minY) y = minY;
        if (y > maxY) y = maxY;

        map.setCenter(new google.maps.LatLng(y, x));
  });

しかし、必要な効果は得られません。とにかく、このコードはマップをズームすることを許可し、ユーザーは厳密な境界を越えてフラグメントを見ることができます。

それで、私は知りたいのですが、完全な世界地図から必要な部分をトリミングするAPI v3の方法はありますか?

4

2 に答える 2

1

あなたの場合、対応する minZoom プロパティを設定することで、ユーザーが境界からズームアウトすることをさらに禁止できると思います

マップを初期化するとき、または次のように既に初期化された後に実行できます。

 map.setOptions({minZoom:5});
于 2013-06-03T07:50:43.037 に答える