0

最近、地図のコードを更新するようにとのメールを Google から受け取りました。Migration Guideに記載されている手順に従いました。infoWindow を除いて、すべてが正常に機能しています。住所を入力して検索を押すと、マップ上にピンが適切にドロップされますが、対応するコンテンツを含む情報ウィンドウが開きません。これは、正しくないと思われるコード スニペットです。

var script = document.createElement("script");

    script.setAttribute("src","https://www.googleapis.com/fusiontables/v1/query?sql=SELECT * FROM " +
        tableid + " WHERE ST_INTERSECTS(geometry, CIRCLE(LATLNG(" + coordinate.lat() + "," + coordinate.lng() + "), 0.1))&jsonCallback=addInfoWindow");
    document.getElementsByTagName("head")[0].appendChild(script);

jsonCallback と callback パラメーターの両方を試しました。どちらも同じ結果になります。

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

addInfoWindow() *

function addInfoWindow(response) {

 infowindow.close();

if(response.table.rows.length) {
    infowindow.close();
     initialize();
    infowindow.setContent("Content removed: " + response.table.rows[0][1] + response.table.rows[0][0]);
    infowindow.setPosition(coordinate);
    map.setCenter(coordinate);
    map.setZoom(15);
    infowindow.open(map);
}
else
{
infowindow.close();
initialize();

    infowindow.setContent("Nothing here.");
    infowindow.setPosition(coordinate);
    map.setCenter(coordinate);
    map.setZoom(15);
    infowindow.open(map);
}

}

更新: generateInfoWindow()

function generateInfoWindow(results, status) {

    initialize();

if (status == google.maps.GeocoderStatus.OK) {
    initialize();
    //center and zoom map
    coordinate = results[0].geometry.location;

    marker = new google.maps.Marker({
        map: map,
        layer: layer,
        animation: google.maps.Animation.DROP,
        position: coordinate
    });
    map.setCenter(results[0].geometry.location);
    map.setZoom(15);






    var script = document.createElement("script");

   script.setAttribute("src","https://www.googleapis.com/fusiontables/v1/query?sql=SELECT * FROM " +
    tableid + " WHERE ST_INTERSECTS(geometry, CIRCLE(LATLNG(" + coordinate.lat() + "," + coordinate.lng() + ")))&key=" + apiKey +  " &callback=addInfoWindow()");
document.getElementsByTagName("head")[0].appendChild(script);

} else {
    alert("Please make sure you entered your City and State");
}

}

4

2 に答える 2

0

次のようなものを試してください: "...)&key=" + apiKey + "&callback=addInfoWindow()"

于 2013-01-10T18:15:52.460 に答える
0

Fusion Table からのデータの取得に焦点を当てたサンプル コードを次に示します。 https://docs.google.com/file/d/0B5KVZ6J1ohN_dktpWXBmSzNkdjg/edit

この部分は不要だと思います: ), 0.1)) ...そしてAPIキーが必要です。

それが役立つことを願って、

-レベッカ

于 2013-01-11T23:39:33.137 に答える