2014-02-28 56 views
1

我正在繪製帶有標籤的地標,然後不斷更新它,每秒一次。地標圖標本身沒有動畫,但附有標籤。該圖標會立即出現,並且隨着舊圖標被刪除並添加新圖標,不會顯示動畫。然而,當地圖標籤在文本淡入視圖中繪製時,地標標籤會有一點動畫。每次我刪除舊的地標並添加新的地圖時,我都會看到這個動畫。如何停止動畫?使用Google earth API當我更新位置時,如何停止使用動畫製作地標標籤?

// Create the placemark. 
var placemark = ge.createPlacemark(''); 
placemark.setName(object1['Designation']); 

// Define a custom icon. 
var icon = ge.createIcon(''); 
icon.setHref('http://maps.google.com/mapfiles/kml/paddle/red-circle.png'); 
var style = ge.createStyle(''); //create a new style 
style.getIconStyle().setIcon(icon); //apply the icon to the style 
placemark.setStyleSelector(style); //apply the style to the placemark 

// Set the placemark's location. 
var point = ge.createPoint(''); 
point.setLatitude(12.345); 
point.setLongitude(54.321); 
placemark.setGeometry(point); 

// Add the placemark to Earth. 
ge.getFeatures().appendChild(placemark); 

回答

2

要關閉此行爲,請致電GEOptions.setFadeInOutEnabled()。例如

ge.getOptions().setFadeInOutEnabled(false);

參見:https://developers.google.com/earth/documentation/options#new_feature_animation

編輯

你添加和刪除標聞起來有點古怪的方式。

「每次我刪除舊的地標,並添加新的我得到這個 動畫」

一個更好的方式做你想要的是不是刪除和添加地標 - 這是更新單個地標上的標籤。

在您的示例中,您需要每秒簡單地撥打placemark.setName(whatever)。 所有其他代碼只需要調用一次即可初始化/配置地標。

+0

謝謝 - 但由於某種原因,它不適合我。我將該行放在「ge.getWindow()。setVisibility(true);」之上正如我在另一個例子中發現的那樣,但它仍然在用動畫畫出名字。 :| – DemiSheep

+0

請參閱我的編輯。 – Fraser

+0

是的,我計劃更新代碼來更新地標,而不是刪除並不斷添加它們。我會檢查你的建議,並很快回來看看。 – DemiSheep

-1

一箇舊的線程,但標籤淡入淡出對我來說是一個新問題,只有類似於這個使用現在不推薦使用的GE API的答案。在我看到的任何地方都沒有KML答案。我環顧四周。 我已經通過實驗發現,通過創建樣式映射可以實現停止標籤淡入,並且在其中一箇中將標籤不透明度設置爲FF,並在另一箇中將不透明度設置爲1.不爲0,完全關閉,0不管用。 然後,當您將鼠標懸停在地標上時,標籤即刻顯示,當您移開地標時,它會返回到不透明度級別1,這與您關閉時不會看到的一樣好。

相關問題