przyciąganie polilinii do drogi za pomocą google maps api v3
W google maps api v2 było łatwo,
<code>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); </code>
W google api V3 tak nie działa. Jest coś takiego jak usługa kierunkowa, ale nie mam pojęcia, jak narysować polilinię przez moje punkty, a polilinia zostanie ukształtowana na drodze.