通过jQuery for Google Maps API V3加载XML

更新:疲劳发生用户错误,而不是代码本身,结果certificate是问题。 我只是错误地调用了两次initialize()函数。 我将留下这篇文章,因为代码片段可能会对希望通过jQuery使用Google Map的XML数据的其他人有所帮助。

我正在通过jQuery for Google Maps(API V3)从XML文件加载地图标记坐标和infoWindow内容。 除了每个标记添加两次之外,一切似乎都运行正常。

这是我的JS:

 google.load("maps", "3", {other_params:"sensor=false"}); google.load("jquery", "1.6.2"); var infowindow; var map; function initialize() { // Specify center of the map var latLng = new google.maps.LatLng(51.781,-107.402); // Customize map appearance var mapOptions = { center: latLng, mapTypeControl: false, mapTypeId: 'roadmap', navigationControl: true, navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL, position: google.maps.ControlPosition.TOP_RIGHT}, scaleControl: false, streetViewControl: false, zoom: 3 } // end mapOptions(); // Load the Google map into the #mapCanvas div map = new google.maps.Map(document.getElementById("mapCanvas"), mapOptions); jQuery.get("iphorm/test.xml", function(data) { jQuery(data).find("marker").each(function() { var eachMarker = jQuery(this); var markerCoords = new google.maps.LatLng( parseFloat(eachMarker.find("Latitude").text()), parseFloat(eachMarker.find("Longitude").text()) ); var name = eachMarker.find("Name").text(); var content = eachMarker.find("Content").text(); var html = "
" + name + "
" + content + "
"; var marker = addMarker(html, markerCoords); }); }); } // end initialize(); // Create a marker for each XML entry function addMarker(html, markerCoords) { // Place the new marker var marker = new google.maps.Marker({ animation: google.maps.Animation.DROP, map: map, position: markerCoords }); // end place the new marker // Add event listener. On marker click, close all open infoWindows open current infoWindow. google.maps.event.addListener(marker, "click", function() { if (infowindow) infowindow.close(); infowindow = new google.maps.InfoWindow({content: html}); infowindow.open(map, marker); }); // end add event listener // Display marker return marker; } // end addMarker(); // On page lod, initialize the map google.setOnLoadCallback(initialize);

我的XML文件如下所示:

    Jane Smith A bit of content goes here. 53.69629 -123.925437   Joe Smith A bit of content goes here. 55.627598 -115.136375   

显然,XML中的每个元素只能为地图抓取一次。 有关如何修复此错误的任何想法? 编辑:代码按预期工作。

JS和XML都运行正常。 我只是错误地调用了两次initialize()函数。