在 Google 地球中,当单击地球时,KMLTreeView 中选定项目的背景颜色会变暗。在我基于 C# 的应用程序中,TreeView 节点失去了所有颜色,所以我不知道选择了哪个项目。
同样,当我单击其关联的地标时,我希望树视图节点突出显示,这在 GE 中也是如此。
我认为这是默认行为,因此我不能将地标与 kmltreeview 正确关联。下面是我用于创建节点并将其添加到地球以及 kmltreeview 控件的代码。是否有什么我做错或没有做才能使用默认行为?
谢谢!
dynamic placemark = KmlHelpers.CreatePlacemark(ge1,
Coord,
d.sSerialNumber,
d.sNickname,
"Device Type: " + d.sName + "<p>" +
"IP Address: " + d.sIPAddress + "<p>" +
"ESN: " + d.sSerialNumber + "<p>" +
"<a href=\"http://localhost/index.html#"
+ d.sSerialNumber + "\">Details</a>");
var styleMap = ge1.createStyleMap("");
// Create normal style for style map.
var normalStyle = ge1.createStyle("");
var normalIcon = ge1.createIcon("");
normalIcon.setHref("http://maps.google.com/mapfiles/kml/shapes/truck.png");
normalStyle.getIconStyle().setIcon(normalIcon);
// Create highlight style for style map.
var highlightStyle = ge1.createStyle("");
var highlightIcon = ge1.createIcon("");
highlightIcon.setHref("http://maps.google.com/mapfiles/kml/shapes/truck.png");
highlightStyle.getIconStyle().setIcon(highlightIcon);
highlightStyle.getIconStyle().setScale(2.0);
styleMap.setNormalStyle(normalStyle);
styleMap.setHighlightStyle(highlightStyle);
// Apply stylemap to a placemark.
placemark.setStyleSelector(styleMap);
kmlTreeView.ParseKmlObject(placemark);