javascript - drawing a line in google maps perpendicular to two points -
i have 2 coordinates draw perpendicular line of equal length. there either simple google maps offset or clean javascript approach might accomplish this? be?
here have far. can see, plot 2 points markers , attempt draw line between them, except need line perpendicular line between 2 coordinates.
var locations = [ ['', position.coords.latitude, position.coords.longitude, 1], ['', llat, llng, 2] ]; var marker, i; ( var = 0; < locations.length; i++ ) { marker = new google.maps.marker({ position: new google.maps.latlng(locations[i][1], locations[i][2]), map: map }); } var borderplancoordinates = [ new google.maps.latlng(llat, position.coords.longitude), new google.maps.latlng(position.coords.latitude,llng) ]; var borderpath = new google.maps.polyline({ path: borderplancoordinates, strokecolor: "#ff0000", strokeopacity: 1.0, strokeweight: 10, map: map }); borderpath.setmap(map);
so have 2 points coordinates (x1,y1)
, (x2, y2)
, want draw line segment length distance between them, perpendicular bisector of segment connecting them, , bisected said segment?
probably simplest way set cx = (x1 + x2)/2
, cy = (y1+y2)/2)
, dx = (x2-x1)/2
, dy = (y2-y1)/2
, draw line (cx-dy, cy+dx)
(cx+dy, cy-dx)
.
this works because (cx, cy)
midpoint of segment want, , you're taking vector midpoint (x2,y2)
, rotating plus , minus 90 degrees find endpoints of segment want draw.
Comments
Post a Comment