2

サンプルに基づいて、次の行に沿って何かを言うことで、OpenLayers でデフォルト ビューを設定できることがわかります。

    var bounds = new OpenLayers.Bounds(-125, 25, -65, 50);
var map = new OpenLayers.Map('map', {restrictedExtent: bounds  });

ただし、これも(名前が示すように)これらの境界内でのみナビゲートできるように制限します。ズームアウトしてこれらの境界の外にあるものを見ることはできますが、それらにズームインしたりスクロールしたりすることはできません。

私はrestrictedExtentを持たないようにしようとしました(またはそれをマップ全体にしようとしました)が、それから私が望む領域に焦点を合わせることができません. 私は使用してみました:

     map.setCenter(new OpenLayers.LonLat(0,0), 3);
     console.log(map.getCenter());

ズームと中心を設定するには...しかし、map.getCenter()から読み取ることができる変数「center」を設定する以外は何もしていないようです(設定しない場合はnullです) 、設定すれば見えますが、マップ自体は伸びきったままで、中心はまったく変わっていないようです...)

私が使用しているマップレイヤーは次のとおりです。

OpenLayers.Layer.OSM.Mapnik

displayOutsideMaxExtent を true に設定すると...ここで本当に途方に暮れています。

私の目標は、世界の既定の地域 (米国など) をズームインして表示することです。視聴者は既定の外に出て物事を見ることができます。

4

1 に答える 1

3

私はそれを理解したと思います。どういうわけか、ズームは決して変化しませんでしたが、中央は明らかに動いていました(ズームアウトされただけで、私にはわかりませんでした)。グーグルプロジェクションを使用するためにセンターを変換する必要があったという事実に加えて、それはうまく機能しているようです。

私がやったことは:

var lonlat = new OpenLayers.LonLat(20,37).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));
map.setCenter(lonlat);
map.zoomTo(4);
于 2010-08-24T14:48:28.007 に答える