Javascript 谷歌地图API-刷新XML标记

Javascript 谷歌地图API-刷新XML标记,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我对v2api非常熟悉,但已经有一段时间没有深入研究javascript了 我使用的是一个XML示例:将用PHP生成的标记加载到地图上。这个文件是jqueryget.html,到目前为止还不错 当我想刷新标记时,问题就出现了 代码部分如下: google.load("maps", "3", {other_params:"sensor=false"}); google.load("jquery", "1.3.2"); function initialize() { var myLatlng =

我对v2api非常熟悉,但已经有一段时间没有深入研究javascript了

我使用的是一个XML示例:将用PHP生成的标记加载到地图上。这个文件是jqueryget.html,到目前为止还不错

当我想刷新标记时,问题就出现了

代码部分如下:

google.load("maps", "3",  {other_params:"sensor=false"});
google.load("jquery", "1.3.2");

function initialize() {
var myLatlng = new google.maps.LatLng(37.4419, -122.1419);
var myOptions = {
  zoom: 13,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

jQuery.get("data.xml", {}, function(data) {
  jQuery(data).find("marker").each(function() {
    var marker = jQuery(this);
    var latlng = new google.maps.LatLng(parseFloat(marker.attr("lat")),
                                parseFloat(marker.attr("lng")));
    var marker = new google.maps.Marker({position: latlng, map: map});
 });
});
}

google.setOnLoadCallback(initialize);
我想将从initialize函数中加载标记的部分隔离到一个我可以在单击时调用的函数中,但是我似乎不知道如何做


非常感谢任何建议

map
变量设置为全局变量。将jQuery
get
方法调用移动到单独的函数:

var map;

function initialize() {
  ...

  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

}

//Call this function from the click event
function createMarkers() {

  jQuery.get("data.xml", {}, function(data) {
    jQuery(data).find("marker").each(function() {
      var marker = jQuery(this);
      var latlng = new google.maps.LatLng(parseFloat(marker.attr("lat")),
                                parseFloat(marker.attr("lng")));
      var marker = new google.maps.Marker({position: latlng, map: map});
   });
  });

}

google.setOnLoadCallback(initialize);