0

我有一个桌面应用程序,其中包括一个 Google 地球网络浏览器插件和许多其他“页面”和控件。我的目标是让用户将鼠标悬停在地标上,弹出一个带有按钮的气球,按下该按钮我想将数据传回应用程序,这样我就可以将“页面”从 GE 浏览器中更改出来。我已经弹出了气球并且按钮就位,但我不知道如何告诉应用程序按钮已被按下。

有任何想法吗?

                    dynamic placemark = KmlHelpers.CreatePlacemark(
                                        ge1,
                                        Coord,
                                        d.sSerialNumber,    // ID (ESN)
                                        d.sNickname,     // Name - shown in tree
                                        "Device Type: " + d.sName + "\n" +
                                        "IP Address: " + d.sIPAddress + "\n" +
                                        "ESN: " + d.sSerialNumber + "\n" +
                                        "<button type=\"button\">Click</button>");
4

2 回答 2

0

如果您想将 Javascript 代码放入气球中,可以按照以下示例进行操作: http ://code.google.com/apis/ajax/playground/?exp=earth#javascript_in_balloons

于 2012-11-07T11:31:00.170 回答
0

我无法完全按照我想要的方式进行操作,但这是我能够将数据从气球传递到应用程序的方式。

我创建了一个带有 html 链接的气球,如上所示,但我没有将按钮行替换为以下行:

"<a href=\"http://localhost/index.html#\"" + SerialNum + "\">Details</a>");

我为浏览器的“导航”事件创建了一个 EventListener。

在 EventListener 函数中,我使用以下命令阻止浏览器访问 URL:

e.Cancel = true;

其中 e 是进入函数的参数列表。

该链接在调用导航事件之前经过验证,因此它必须是一个“好”的 URL。

它肯定不优雅,但它有效。也许有一天我会想出我们如何做得更好。直到那时...

于 2012-11-08T00:07:44.317 回答