如何使用winforms-geplugin API创建自定义地标图标? (使用C#而不是Javascript)

时间:2012-10-17 16:13:27

标签: c# google-earth-plugin

我正在使用以下代码在我的C#项目中创建一个地标。

kmlTreeView.ParseKmlObject(
     KmlHelpers.CreatePlacemark(ge,
                                Coord,
                                d.sSerialNumber,    // ID (ESN)
                                d.sNickname,     // Name - shown in tree
                                "Device Type: " + d.sName + "\n" +
                                "IP Address: " + d.sIPAddress + "\n" + 
                                "ESN: " + d.sSerialNumber)); // shown in bubble

我无法弄清楚如何更改标准黄色图钉的图标。我见过的所有javascript示例都使用ge.createIcon()和ge.createStyle()。这些功能似乎在托管代码API中不可用。

是否有其他方法可以访问我无法找到的地标对象?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

找到答案。在这里使用示例javascript - (https://developers.google.com/earth/documentation/placemarks#custom) - 我只是将单引号(')更改为双引号(“)并且它完美运行。

                dynamic placemark = KmlHelpers.CreatePlacemark(
                      ge,
                      Coord,
                      d.sSerialNumber,    // ID (ESN)
                      d.sNickname,     // Name - shown in tree
                      "Device Type: " + d.sName + "\n" +
                      "IP Address: " + d.sIPAddress + "\n" + 
                      "ESN: " + d.sSerialNumber);
                var icon = ge.createIcon("");
                icon.setHref("http://maps.google.com/mapfiles/kml/paddle/red-circle.png");
                var style = ge.createStyle(string.Empty);
                style.getIconStyle().setIcon(icon);
                style.getIconStyle().setScale(5.0);
                placemark.setStyleSelector(style);