基本的に、ユーザーがマップを開いて、情報ウィンドウにフュージョンテーブルフォームを持つマーカーを作成し、ユーザーがフォームを送信してマーカーを閉じるようにします。
私が扱っている最初の問題は、「クリック」イベント中に、2つのマーカー/情報ウィンドウが作成されたように見えることです。(トップマーケットをドラッグして、その下に別のマーケットがあることを確認できます。)理由はわかりません。
しかし、より大きな問題は、ユーザーが作成した既存のマーカー/情報ウィンドウを閉じる方法がわからないことです。
マップにマーカーを追加する方法のコードは次のとおりです。
// click listenrer that places a marker
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
function placeMarker(location) {
var newmarker = new google.maps.Marker({
position: location,
draggable: true,
map: map,
});
var infowindow2 = new google.maps.InfoWindow({
content: '<iframe width=500 height=300 scrolling=yes frameborder=no src=https://docs.google.com/spreadsheet/embeddedform?formkey=dGdMZjg1T2duck55UjVHNGx2MHRlN0E6MQ&entry_0=Test1&entry_1='+ location.lat() +','+ location.lng() +'&entry_2=test3%22></iframe>'
});
infowindow2.open(map,newmarker);
}
そして、これがマーカーをクリアできないコードです:
// doesn't seem to work...
//I thought this is all that is needed for a market to disappear. Neither setMap(null) or setVisible(false) works. It doesn't appear that this listener is even triggered upon a double click.
google.maps.event.addListener(marker, "dblclick", function() {
newmarker.setMap(null);
marker.setVisible(false);
});
'dblclick'リスナーを使用して、2つの'click'リスナーを使用することが問題であるかどうかをテストしました。しかし、私が知る限り、ダブルクリックでも何も起こりません。
これに関するヘルプやガイダンスをいただければ幸いです。