2015-09-26 73 views
2

我試圖弄清楚如何縮放地圖到邊界框,但找不到一個好例子。 我Angular OpenLayers - 縮放到框的邊界

angular.extend($scope, { 
     offset: 0, 
     center: { 
      lat: 30.0047, 
      lon: 31.2586, 
      bounds: [30.566461328125, 
        29.766565657014183, 
        31.950738671875005, 
        30.242264176913594] 
     } 
    }); 

試過我怎樣才能設置themap放大到邊框沒有4個界限的複雜轉換(中心,縮放)?

回答

1

我敢肯定你想

map.getView().fit( 
    ol.proj.transformExtent([ x1, y1, x2, y2 ], 'EPSG:COORDS', 'EPSG:MAP'), 
    map.getSize() 
    ); 

這是你的地圖存在後,不初始化。

http://openlayers.org/en/master/apidoc/ol.View.html#fit

+1

你忘了'map.getSize()'。所以正確的答案是map.getView()。fit(ol.proj.transformExtent([x1,y1,x2,y2],'EPSG:COORDS','EPSG:MAP'),map.getSize()); '。這是針對OpenLayers v3.7及以上版本的,之前曾使用函數fitExtent來代替適合。只需用這個更新你的答案。謝謝;) – saledo

+0

完成,謝謝你的追捕。我也添加了一個鏈接到文檔 – ryansstack