使用Google earth API,当我更新它的位置时,如何停止使用地标标签制作动画?

时间:2014-02-28 13:51:59

标签: google-maps google-maps-api-3 kml google-earth-plugin

我正在绘制带有标签的地标,然后我不断更新它,每秒一次。地标图标本身没有动画,但附加到它的标签就是动画。图标只是立即显示,旧的图标被删除,新的图标被添加,没有动画。然而,当标记文本淡入视图时,地标标签会有一点动画。每当我删除旧地标并添加新地标时,我都会看到这个动画。如何停止动画?

// 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 个答案:

答案 0 :(得分:2)

要关闭此行为,请致电GEOptions.setFadeInOutEnabled()。 e.g。

ge.getOptions().setFadeInOutEnabled(false);

请参阅:https://developers.google.com/earth/documentation/options#new_feature_animation

修改

添加和删除地标的方式闻起来有点时髦。

  

"每当我删除旧地标并添加新地标时,我都会得到这个   动画"

更好的方法来做你想要的不是删除和添加地标 - 它是在一个地标上更新标签。

在您的示例中,您只需每秒拨打placemark.setName(whatever)。 所有其他代码只需要调用一次来初始化/配置地标。

答案 1 :(得分:-1)

旧的线程但Label Fade In-Out对我来说是一个新问题,其答案仅类似于使用现已弃用的GE API的答案。在我看过的任何地方都没有KML答案。我环顾四周。 我通过实验发现,停止标签淡入可以通过创建样式图来实现,并且在其中一个中将标签不透明度设置为FF,而在另一个中将不透明度设置为1.不为零,完全关闭,0将不行。 然后,当您将鼠标悬停在地标上时,标签会立即显示,当您从地标移开时,它会返回到不透明度等级1,这与关闭时一样好,因为您将看不到它。