2016-11-10 52 views
3

我試圖讓地圖引腳在高度突出的多邊形上一致地顯示很困難。在我的應用程序中,我根據任意值擠壓建築物的高度。銫 - 在帶有extrudedHeight設置的多邊形上放置廣告牌/地圖引腳

後來,在選擇它們之後,我添加了一個廣告牌,該廣告牌提供了地圖引腳的自定義圖像。

//Get position of selected entity and add billboard at same position 

var mPos = pCoords.positions[0]; 

var selectedPin = viewer.entities.add({ 

    name : 'selBoutique', 
    position : mPos, 
    billboard : { 
     image : './img/marker.png', 
     verticalOrigin : Cesium.VerticalOrigin.BOTTOM, 
     eyeOffset: new Cesium.Cartesian3(0, 4, 0) 
    } 

}); 

我設置垂直原產地底,以保持其一貫的顯示,並已與爲了找到這對於3D視圖不同高度的建築效果很好的設置偏移試驗。

在試圖獲得這些銷釘的位置時,我應該考慮其他因素嗎?這些銷釘不會被不同高度的建築物擋住?我試圖根據建築物的高度動態設置偏移值。在此期間或許我會再玩一些。

截圖:

angled view screenshot

top view screnshot

+0

你可以添加截圖嗎? – emackey

+0

當然!添加。 –

+0

除了'Cesium.VerticalOrigin.BOTTOM'之外,請嘗試通過建築物的高度修改銷釘的實際位置。實質上,將銷定位在建築物屋頂的中心,而不是地面。關閉眼罩但保持VerticalOrigin.Bottom。 – emackey

回答

2

由建築物的高度修改引腳的實際位置。實質上,將銷定位在建築物屋頂的中心,而不是地面。然後,關閉eyeOffset,但請保持您的VerticalOrigin.BOTTOM設置。

+1

這絕對回答了這個問題。然而,我確實有一個後續問題,這可能與也可能不相關,因爲在我的建築物頂部添加廣告牌會導致建築物的形狀發生變化。具體來說,多邊形的一部分被切掉。隨着較高的建築物,建築物變得更高並且重新塑造。我應該用一些截圖開始一個新的問題嗎? –

+0

聽起來像[問題#2130](https://github.com/AnalyticalGraphicsInc/cesium/issues/2130)。如果您喜歡冒險,請嘗試搭建「廣告牌 - 透明度」分支,看看它是否更好。大量的引腳會有輕微的性能下降,但它應該能夠解決這個問題。 – emackey

+0

對不起,延遲。這看起來像一個非常類似的問題。在此期間,我的客戶已經選擇了不同的解決方案,但我試圖在自己的時間建立該分支並報告我的發現。再次感謝 :) –