Jestem rowerzystą górskim i śledzę moje przejażdżki na moim Samsung S3 Galaxy
przy użyciu programów takich jak Endomondo
i Strava
. Wszystko, co dotyczy mojej jazdy, jest zapisane na tych 2 stronach.Najlepszy sposób importowania współrzędnych z pliku .gpx i wyświetlania przy użyciu interfejsu API Google Maps
Mam własną stronę internetową, na której wyświetlam trasy górskie w różnych miejscach, w których się zatrzymuję. Dane trasy zarejestrowane za pomocą GPS
przy użyciu Endomondo i Strava I zostały wyeksportowane do pliku .gpx
. Potrzebuję tych danych w pliku .gpx do wyświetlania na mojej własnej stronie internetowej. Tak więc zacząłem szukać rozwiązania, używając Google Maps API
i importując plik .gpx bez użycia zewnętrznego narzędzia.
Próbowałem znaleźć odpowiedź. Natknąłem się na to stanowisko, gdzie facet używa jQuery
wyodrębnić dane w pliku XML i wyświetlić te dane na swojej mapie Google: http://www.jacquet80.eu/blog/post/2011/02/Display-GPX-tracks-using-Google-Maps-API
ten sposób wdrożone do mojego HTML znaczników:
<script>
function initialize() {
var route1Latlng = new google.maps.LatLng(-33.7610590,18.9616790);
var mapOptions = {
center: route1Latlng,
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
$.ajax({
type: "GET",
url: "gpx/my_route.gpx",
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);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
To działa. Ale czy to jest właściwy sposób na zrobienie tego? Czy istnieje lepszy sposób na wdrożenie tego?
Jestem rzeczywiście przy SQL Server. Dlaczego sugerujesz, że używam plików KML, jeśli już je mam jako .gpx? –
Podczas generowania kml z bazy danych, można łatwo wyświetlić więcej tras na tej samej mapie. Łatwiej jest również stylizować trasę za pomocą stylów kml. –
Kml to "metoda Google" do przechowywania i wyświetlania danych geograficznych, a zarówno GMaps, jak i GEarth mają dobre wsparcie dla importowania i eksportowania kml zamiast gpx. Ponadto konwersja pomiędzy GPX i KML jest bardzo naturalna przy użyciu takich narzędzi, jak na przykład GPSBabel, a nawet hackowanie w ulubionym języku (python, php itp.). – heltonbiker