最近、地図のコードを更新するようにとのメールを 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");
}
}