0

だから私は問題があります。私は2つのFusionテーブルを呼び出すGoogle API 3コードを持っていますが、クリック可能ないくつかのhtml要素を追加したいと思います。クリックすると、Fusionテーブルから特定のポリゴンが呼び出され、(すでにカスタマイズされた)情報ウィンドウが自動的に開きます.

私のコードはここにあります: http://jsfiddle.net/zVaGN/1/

そして、私はこの効果を得たい: http://econym.org.uk/gmap/example_egeotestmon.htm

私はこのコードを見てきましたが、コーディングにそれほど熟練していないため、解決策を見つけることができません。いくつかのプロパティ (フュージョン テーブルの列) を呼び出してフュージョン テーブルからレイヤーを呼び出す関数が必要です。ユーザーが html 要素をクリックすると、特定のレイヤーの情報ウィンドウがポップアップします。

みんな助けてください!

更新: poylgon がクリックされたときに情報ウィンドウを取得することは既に可能ですが、別の html 要素をクリックすると情報ウィンドウが開くという効果を得たいので、この例を見てください: jsfiddle.net/zVaGN ここに私は入れましたマップの前にあるリンクは「Sisak」と表示されており、このリンクをクリックすると、このポリゴン (私の fusiontalbe では Sisak という名前) の情報ウィンドウが表示されるようになりました。これは可能ですか?

更新 2: だから私はすでに Fusiontables で作成されたカスタマイズされた情報ウィンドウを持っています。関数が Fusiontable の値を使用して html 要素の値をクエリし、infowindow ポップアップを呼び出すことだけが必要ですか? わかりますか、ポリゴンがあり、すべてのポリゴンにカスタム情報ウィンドウがあります。そして、ユーザーがサイドバー リストの特定の名前をクリックすると、その情報ウィンドウが表示されるように、Google マップのほかに HTML リストを作成したいと考えています。ポリゴンポップス?

Fusiontables で作成された情報ウィンドウを呼び出すこのコードを入れてみましたが、うまくいきません。これは Google API です。

    function izbor() {
var infowindow = google.maps.FusionTablesLayer({
    });
infowindow.open(map);

}

そして、後でhtmlの本文で、この関数を実装しようとします:

<div style="position:absolute; top:700px; left:100px;" >
<a href="#" title="Sisak" value="Sisak" onclick="izbor()">Sisak</a><br />
</div>

しかし、これは起こりません

また、このコードを試して、div class="googft-info-window" を持つ fusiontables で作成された情報ウィンドウを呼び出しました。

function izbor() {
var infowindow = new google.maps.InfoWindow({
query: {"SELECT '.googft-info-window' FROM" + tableid};
    });
infowindow.open(map);
}

しかし、何も起こりません

また、このコードを ExtendedData で試してみました。これは、フュージョン テーブルを kml にエクスポートすると、情報ウィンドウが ExtendedData として解析されるためです。

function izbor() {
var infowindow = new google.maps.InfoWindow({
query: {" SELECT 'ExtendedData' FROM " + tableid};
    });
infowindow.open(map);
}

しかし、再び何もありません:(

4

1 に答える 1

0

あなたの例はポリゴンを使用しており、それをクリックして処理することができます。クリックを処理することもできますが、領域 (レイヤー) の境界でのみです。

google.maps.event.addListener(layer, 'click', function()
{
    // Your info window should be opened here
    alert("Clicked");
});

領域の境界をクリックして確認してください:)

更新しました:

function izbor() {
    layer.setOptions({
        query: "SELECT geometry FROM " + tableid + " WHERE Naziv = 'Sisak'"
    });

    var infowindow = new google.maps.InfoWindow({
        content: "Info"
        , position: new google.maps.LatLng(44.75324026267657, 16.810970306396484)
    });
    infowindow.open(map);
}
于 2012-04-11T07:10:17.927 に答える