2011-09-15 12 views
1

私の現在のOpenLayersを720度を示している以下のようになります。 a wrong map http://i1179.photobucket.com/albums/x384/yoyomyo/Picture2.pngOpenLayersを、世界中の

がなければならないとして、それは2倍の数の大陸を持っています。

私は自分のマップに境界を設定しようとしていたが、マップ全体がちょうどレンダリングすることを拒否:

var map = new OpenLayers.Map('map', {restrictedExtent: new OpenLayers.Bounds(-180, -90, 180, 90)}); 

var layer = new OpenLayers.Layer.OSM("Simple OSM Map"); 

map.addLayers([layer]); 

map.setCenter(
    new OpenLayers.LonLat(-71.147, -42.472).transform(new OpenLayers.Projection("EPSG:4326"),map.getProjectionObject()), 
    12); 

は、任意の地図の第一人者が、私が間違って何をしたか知っていますか?

答えて

0

maxExtentを設定したいと思うようです。

http://trac.osgeo.org/openlayers/wiki/SettingZoomLevels

そうでなければ、私は見当もつかない。 :)

+0

wrapDateLine:falseが試み{新しいOpenLayers.Bounds(-180、-90、180、90)maxExtent}試し。私はopenCycleMapを見ました。そしてその地図は(-180、-90、180、90)のいずれにも限定されていません。これはOSMで修正することが不可能なものですか? – YoYoMyo

0

オフの例で答える方が簡単です。私はズームインするとかなり遠いです。そして、そう、あなたがそのサイトではOSM http://www.openstreetmap.org/

にズームインすることができ、彼らは私があきらめ

var centre = new OpenLayers.LonLat(-0.1, 51.5); 
    var zoom = 5; 

    setMapCenter(centre, zoom); //It calls map.setCenter() 
+0

ありがとうございます。しかし、私の問題は、ズームの代わりに境界線によります。マップの初期化時にmaxExtentを設定しようとしましたが、マップを制限できませんでした。 – YoYoMyo

+0

ユーザーを制御するには、[restrictedExtent](http://dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.restrictedExtent) – Drew

+0

を制限するズームするには、BaseLayerで設定する必要があります。 map.baseLayer.restrictedMinZoom = 3; – Drew

0

オーケー、これらの値を使用します。私はこれがOpenStreetMapがその地図を表示する方法に過ぎないと思います。 私は多くのデモを見ており、それらはすべて上記のようなものです。 、運:

関連する問題