3
假設你有一個標記層和鼠標懸停顯示彈出式窗口的事件偵聽器,像如何移動與縮放級別無關的彈出位置?
var hints = new OpenLayers.Control.SelectFeature(wplayer, {
hover: true,
eventListeners: {
featurehighlighted: function(event) {
var feature = event.feature;
popup = new OpenLayers.Popup(null,
feature.geometry.getBounds().getCenterLonLat().add(3000, 3000),
new OpenLayers.Size(200,10),
feature.attributes.name, false, null);
...
到目前爲止是這種情況 - 和add(3000, 3000)
轉移位置好嗎。但是我想要將其與當前縮放級別無關地以相同數量的像素進行移位。這樣實際的標記不會被彈出窗口阻止。
這意味着我必須將像(+ 15px,+ 15px)這樣的翻譯轉換爲當前顯示的開放層座標系。在僞代碼:
feature.geometry.getBounds().getCenterLonLat().add(Pixels(15,15).toMap())
任何想法如何使用openlayers方法做到這一點?
感謝分享:)順便說一下,它的工作原理沒有在2.12版本的分辨率。 –
當縮放級別改變時,是否有一種更新彈出窗口位置的簡單方法?對我來說,這隻適用於第一次定位彈出窗口。 – Joel