Следующий ответ помогает отобразить файл gpx на карте Google .. (75% подходит для вышеуказанного вопроса)
В следующем фрагменте предполагается, что карта была создана, и на нее ссылается переменная map (ofвведите 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);
}
});
Код работает следующим образом.Извлеките файл GPX, используя запрос XMLHttpRequest (запрос «AJAX»).jQuery анализирует файл и обеспечивает очень простой доступ к дереву XML.Для каждого узла trkpt («точка отслеживания») создайте новую точку Google Maps в указанном месте.Наконец, создайте полилинию из всех этих точек и добавьте ее на карту.