2012-11-26 48 views
1

我必須使用開放層的OpenLayers.Layer.Image來創建圖像層。圖像是暫時的靜態圖像。圖像代表我想要捕捉的整個區域。我有圖像所代表的區域的角點經度緯度&。當我把這些緯度作爲邊界時,圖像會被拉伸。開放層中的圖像層

我想知道如何顯示帶有界限的靜態圖像,並且一旦我開始縮放圖像就會縮放。

回答

1

你想要做的是有點複雜(對不起)。

爲了讓圖像層具有可以放大和縮小的地圖的功能,您需要將圖像轉換爲地圖。

您可以使用地理參考插件用於QGIS地理參考您的圖像和類似Maptiler的東西,從您的參考圖像創建圖塊。當您擁有正確創建的地圖圖塊時,可以使用Opanlayers TMS圖層來顯示數據。 (或只是作爲一個WMS與Geoserver服務)

希望這可以幫助,或至少給你的東西給古爾!

1

OpenLayers.Layer.Image應爲此目的是罰款: http://jsfiddle.net/cv3uC/4/ (你有得到所需的初始程度,縮放級別等多種不同的地圖屬性發揮)。

如果圖片被拉伸,邊界可能不正確。計算圖像和邊界的寬高比。他們應該是一樣的。

var bounds = new OpenLayers.Bounds(10, 10, 260, 297); 
var size = new OpenLayers.Size(250, 287); 

alert(
    'Image ratio: ' + 
    (size.w/size.h).toString() + 
    ' Bounds ratio: ' + 
    (bounds.getWidth()/bounds.getHeight()).toString() 
); 
+0

感謝您的回覆。可能我的界限不正確。 – user1630693