Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- google.maps.Polyline.prototype.GetPointsAtDistance = function (metres) {
- var next = metres;
- GetPointsAtDistance;
- var points = [];
- if (metres <= 0) return points;
- var dist = 0;
- var olddist = 0;
- for (var i = 1; i < this.getPath().getLength(); i++) {
- olddist = dist;
- dist += google.maps.geometry.spherical.computeDistanceBetween(
- this.getPath().getAt(i),
- this.getPath().getAt(i - 1)
- );
- while (dist > next) {
- var p1 = this.getPath().getAt(i - 1);
- var p2 = this.getPath().getAt(i);
- var m = (next - olddist) / (dist - olddist);
- points.push(
- new google.maps.LatLng(
- p1.lat() + (p2.lat() - p1.lat()) * m,
- p1.lng() + (p2.lng() - p1.lng()) * m
- )
- );
- next += metres;
- }
- }
- return points;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement