2016-04-27 16 views
1

私は座標が[ind:lat:'28 .627671 '、lng:'77 .216574']のindiaのdelhiのどこかに位置の中心を設定する必要があります。私はそれを動作させるために以下のコードを使用しましたが、間違った場所を示しています。オープンレイヤー3の位置に地図を配置する方法

map = new ol.Map({ 
     target: 'map', 
     renderer: 'canvas', 
     view: new ol.View({ 
      center: [0,0], 
      zoom: 4 
     }) 
    }); 

    var newLayer = new ol.layer.Tile({ 
     source: new ol.source.OSM() 
    }); 

    map.addLayer(newLayer); 
    map.addLayer(mapVectorLayer); 
    console.log(centerPosition); 
    map.getView().setCenter(ol.proj.transform([centerPosition.lng, centerPosition.lat], 'EPSG:4326', 'EPSG:3857')); 
    map.getView().setZoom(5); 

enter image description here

答えて

0

は自分の座標を反転させます。そのようにそれを実行します。デュードフィドル@Alexander

map.getView().setCenter(ol.proj.transform([ 77.216574,28.627671], 'EPSG:4326', 'EPSG:3857'));

fiddle here

チェックだけでなく、COORDS彼が提案する方法を渡すために、より安全です。私はちょうどあなたの周りにcoordsを持っていることをかなり確信しています

1

あなたは座標に文字列値を与えるので、私はかもしれません。変数の前に+を追加して数値にキャストしてください。

は、あなたが何をしたいかのように見える例のJSFiddleを参照してください。http://jsfiddle.net/bbc7gup9/2/

とスニペット:

var centerPosition = { 
    lat: '28.627671', 
    lng: '77.216574' 
}; 
view.setCenter(ol.proj.transform([ 
    +centerPosition.lng, 
    +centerPosition.lat 
], 'EPSG:4326', 'EPSG:3857')); 
view.setZoom(5); 
関連する問題