W Google Maps API v2 to było łatwe,łamaną przystawki do drogi przy użyciu Google Maps API v3
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(53.7877, -2.9832),13)
// map.addControl(new GLargeMapControl());
// map.addControl(new GMapTypeControl());
var dirn = new GDirections();
// var firstpoint = true;
var gmarkers = [];
var gpolys = [];
var dist = 0;
// == When the user clicks on a the map, get directiobns from that point to itself ==
gmarkers.push(new google.maps.LatLng(53.7877, -2.9832));
gmarkers.push(new google.maps.LatLng(53.9007, -2.9832));
gmarkers.push(new GLatLng(53.600, -2.700));
for (var i = 0; i < gmarkers.length-1; i++) {
console.log(gmarkers[i]);
dirn.loadFromWaypoints([gmarkers[i].toUrlValue(6),gmarkers[i+1].toUrlValue(6)],{getPolyline:true});
}
// == when the load event completes, plot the point on the street ==
GEvent.addListener(dirn,"load", function() {
// snap to last vertex in the polyline
var n = dirn.getPolyline().getVertexCount();
map.addOverlay(dirn.getPolyline());
gpolys.push(dirn.getPolyline());
dist += dirn.getPolyline().getDistance();
document.getElementById("distance").innerHTML="Path length: "+(dist/1000).toFixed(2)+" km. "+(dist/1609.344).toFixed(2)+" miles.";
});
GEvent.addListener(dirn,"error", function() {
GLog.write("Failed: "+dirn.getStatus().code);
});
console.log(dirn);
w google api V3 ten sposób prosty robi praca. Jest coś takiego jak obsługa kierunków, ale nie mam pojęcia, jak mogę narysować polilinię za pośrednictwem moich punktów, a polilinia zostanie przyciągnięta do drogi.
Dzięki, czyste i zwięzłe. –
@ chad-killingsworth, więc jeśli czytam to poprawnie, obejmiesz maksymalnie 8 ograniczeń punktów na drodze, wywołując usługę DirectionsService przy każdym kliknięciu, a następnie przechowując wszystkie te wyniki w tablicy? Powiedzmy, że chciałem automatycznie pokazywać znacznik przy każdym 1-milowym inkrementowaniu, podobnie do gmaps-pedometer.com; jakikolwiek pomysł, jak to zrobić za pomocą interfejsu API? –
Przepraszamy, zignoruj drugą połowę powyższego pytania; znaleźć odpowiedź tutaj: http://stackoverflow.com/questions/2698112/how-to-add-markers-on-google-maps-polylines-based-on-distance-along-the-line .. nie do końca proste i wygląda na to, że trzeba go przerobić dla wersji v3, ale wygląda na to, że ... –