如何为备用gmaps infowindow调用jquery函数?

时间:2011-07-06 07:11:03

标签: jquery google-maps

我想调用jQuery函数,比如模态框,而不是使用gmaps infowindows 我怎样才能做到这一点?

这是代码,它仍然使用默认的infowindows:

var marker;

function initialize() {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map_canvas"));
    map.setCenter(new GLatLng(37.4419, -122.1419), 13);

    GEvent.addListener(map, "click", function(overlay, latlng) {
          if (latlng) {
        marker = new GMarker(latlng, {draggable:true});
        GEvent.addListener(marker, "click", function() {
          var html = "<table>" +
                     "<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" +
                     "<tr><td>Address:</td> <td><input type='text' id='address'/></td> </tr>" +
                     "<tr><td>Type:</td> <td><select id='type'>" +
                     "<option value='bar' SELECTED>bar</option>" +
                     "<option value='restaurant'>restaurant</option>" +
                     "</select> </td></tr>" +
                     "<tr><td></td><td><input type='button' value='Save & Close' onclick='saveData()'/></td></tr>" +
                         "";



          marker.openInfoWindow(html);
        });
        map.addOverlay(marker);
      }
    });

  }
}

此代码中的infowindows对话框:

   marker.openInfoWindow(html);

帮助我,提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,您必须创建一个这样的对话框div(页面中的任何位置):

<div id="dialog" style="display:none"></div>

然后,而不是

marker.openInfoWindow(html);

你应该做

$("#dialog").html(html);
$("#dialog").dialog();

(当然,你必须包括正确的脚本)

有关jQuery对话框here的更多信息。