Advertisement
Guest User

Untitled

a guest
Jul 12th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   google.maps.Polyline.prototype.GetPointsAtDistance = function (metres) {
  2.     var next = metres;
  3.     GetPointsAtDistance;
  4.     var points = [];
  5.     if (metres <= 0) return points;
  6.     var dist = 0;
  7.     var olddist = 0;
  8.     for (var i = 1; i < this.getPath().getLength(); i++) {
  9.       olddist = dist;
  10.       dist += google.maps.geometry.spherical.computeDistanceBetween(
  11.         this.getPath().getAt(i),
  12.         this.getPath().getAt(i - 1)
  13.       );
  14.       while (dist > next) {
  15.         var p1 = this.getPath().getAt(i - 1);
  16.         var p2 = this.getPath().getAt(i);
  17.         var m = (next - olddist) / (dist - olddist);
  18.         points.push(
  19.           new google.maps.LatLng(
  20.             p1.lat() + (p2.lat() - p1.lat()) * m,
  21.             p1.lng() + (p2.lng() - p1.lng()) * m
  22.           )
  23.         );
  24.         next += metres;
  25.       }
  26.     }
  27.     return points;
  28.   };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement