2011-07-22 21 views

回答

0

以下的答案有助於顯示在谷歌地圖GPX文件..請提前感謝幫助和...

下面的代碼片斷假定一個地圖已經建立,並由地圖變量(類型爲google.maps.Map)引用。在軌道添加到地圖後,最後的指令將放大以適應軌道。

$.ajax({ 
    type: "GET", 
    url: "URL to the GPX file", 
    dataType: "xml", 
    success: function(xml) { 
    var points = []; 
    var bounds = new google.maps.LatLngBounds(); 
    $(xml).find("trkpt").each(function() { 
     var lat = $(this).attr("lat"); 
     var lon = $(this).attr("lon"); 
     var p = new google.maps.LatLng(lat, lon); 
     points.push(p); 
     bounds.extend(p); 
    }); 

    var poly = new google.maps.Polyline({ 
     // use your own style here 
     path: points, 
     strokeColor: "#FF00AA", 
     strokeOpacity: .7, 
     strokeWeight: 4 
    }); 

    poly.setMap(map); 

    // fit bounds to track 
    map.fitBounds(bounds); 
    } 
}); 

該代碼的工作原理如下。使用XMLHttpRequest(「AJAX」請求)檢索GPX文件。 jQuery解析文件並提供對XML樹的非常簡單的訪問。對於每個trkpt(「軌跡點」)節點,在給定位置創建一個新的Google Maps點。最後,從所有這些點創建一條折線,並將其添加到地圖中。