0

情報ウィンドウでマーカーを描画する小さなGoogleマップアプリがあります。ウィンドウ内の情報を編集して送信できるようにしたいと思います。私はこれを行うことができますが、一度だけです。ここを見て、Google Maps API InfoWindow内の要素にイベントを追加しました。これは少し役に立ちましたが、私のコードでは、送信イベントが発生しないようです。

これが私のコードです:

// get the data       
    $.getJSON( 'csvToJson.php', function(data) { 
      // Loop through it
      $.each( data, function(i, m) {        
        // Add the marker
        var title = m.Namn + ': ' + m.Meddelande;
        $('#map_canvas').gmap('addMarker', { 
          'position': new google.maps.LatLng(m.Lat, m.Lng), 
          'bounds':false, 
          'title': title } 
          ).click(function() {
            // Initialise the info window
            var divName = "detail" + m.id; // come back to this?
            var infoWindowContent = [
              "<form id='detail_form' action='bib.php' method='post'>",
              "Namn: <br><input type='text' name='Namn' value='" + m.Namn + "'></input>",
              "<br>Meddelande: <br>"  + m.Meddelande,
              "<br><input type='submit' value='Spara ändringar'></input></form>"
             ].join("");

            var info = new google.maps.InfoWindow({
              content: infoWindowContent
            });                    

            google.maps.event.addListener(info, 'domready', function() {
              $(document).off("submit");
              $(document).on("submit", (function() {
                console.log("Hi");
              })); // end addEvent
            }); // end addListener 
            $('#map_canvas').gmap('openInfoWindow', info, this);                 
        }); // end addMarker click(function)     
      }); // end $.each
    }); // end $.getJSON

すべての助けに感謝します。

ミニ

4

1 に答える 1

0
  1. jQueryメソッドはありません。代わりaddEventに使用してくださいon
  2. domready-handlerを追加する前にinfoWindowを開くと、リスナーを適用したときにdomready-eventがすでに発生している可能性があります。行を移動します:

    $('#map_canvas')。gmap('openInfoWindow'、info、this);

...クリックリスナーの最後まで

于 2013-02-11T13:28:02.773 に答える