1

C# winforms-ge-plugin を使用して、検索プロトコルが見つけた Wi-Fi ホットスポットを ge グローブと kmltreeview に追加しています。GPS座標を使用して都市に基づいてグループ化したいと思います。各都市をフォルダーとしてグループ化する計画ですが、kmltreeview でフォルダーを作成する方法がわかりません。

もともと私はこれを試しました:

        var folder = kmlTreeView.CreateNode(FC.GEPluginCtrls.ApiType.KmlFolder);
        kmlTreeView.ParseKmlObject(folder);

しかし、うまくいきませんでした。

別のフォーラムで JavaScript ベースのコードを見つけましたが、どちらも機能していません。

        var folder = ge1.createFolder("test");
        folder.getFeatures().setVisibility(true);
        folder.getFeatures().setOpen(true);

        var placemark = ge1.createPlacemark();
        folder.getFeatures().appendChild(placemark);

        ge1.getFeatures().appendChild(folder);

ご協力いただきありがとうございます。TC

4

1 に答える 1

1

このCreateNodeメソッドはパラメーターとして任意のKmlObjectを取りますが、APIのタイプの1つの列挙子を渡します。

フォルダを作成し、で解析するだけです。

var folder = ge1.createFolder("test");
kmlTreeView.ParseKmlObject(folder);

説明すると、KmlTreeViewはKmlFoldersや'kml'を生成または作成せず、階層内のノードとしてロードされたKmlObjectsのビューを表示するだけです。

ツリービューに実際に表示される「フォルダ」は、KmlFolderやKmlDocumentなどのKmlContainerの単なる表現です。

KmlTreeViewを使用する別の方法は、プラグインにロードしたkmlObjectをプラグインに直接ロードすることです。これは通常、GEWebBeowserのFetchKmlメソッドの呼び出しから返されるオブジェクトと同じです。例えば。

   // load the plugin
    geWebBrowser1.LoadEmbededPlugin();

    // when the plug-in has loaded
    geWebBrowser1.PluginReady += (o, e) =>
    {
        // load the kml from the local server
        kmlTreeView1.SetBrowserInstance(e.ApiObject);
        geWebBrowser1.FetchKml("http://foo/some.kml");
    };

    // when the kml has loaded
    geWebBrowser1.KmlLoaded += (o, e) =>
    {
        // add the kml to the plugin and tree-view 
        geWebBrowser1.ParseKmlObject(e.ApiObject);
        kmlTreeView1.ParseKmlObject(e.ApiObject);
    };

このようにして、ツリービューはプラグインの表示と同期します。したがって、ツリービューのノードをダブルクリックすると、その場所などに移動します。

于 2012-12-05T04:57:15.733 に答える