2016-06-09 46 views
1

在我的應用我加了一個Mapquest服務層,打開圖層3,drawed點和線...getPixelFromCoordinate返回null

現在我需要知道的像素從一個經度/緯度點的地圖座標(可見區域)使用

map.getPixelFromCoordinate(coordinate). 

這個函數總是返回null(測試):

center = map.getView().getCenter(); 
px = map.getPixelFromCoordinate(center); 
alert(JSON.stringify(px)); 

什麼,我做錯了還是什麼,我沒有正確理解?

回答

1

我發現了這樣的回答:

我會小心一點。您可能會得到錯誤的結果,例如當地圖還沒有最終佈局時。最好先等待第一個座標到像素的轉換,直到地圖被渲染。你不需要超時,我們在ol.Map上有'postrender'事件。因此,在你的初始化代碼,你可以做這樣的事情:

map.once('postrender', function() { 
    // safe to call map.getPixelFromCoordinate from now on 
}); 

來源:github.com/openlayers/ol3/issues/5456

我希望這有助於。