sud*_*ity 6 javascript polyline google-maps-api-3
我有两个坐标,我想绘制一条相等长度的垂直线.是否有一个简单的谷歌地图偏移为此或一个干净的JavaScript方法,我可以实现这一点?那会是什么?
这是我到目前为止所拥有的.如您所见,我将两个点绘制为标记,然后尝试在它们之间绘制一条线,除了我需要使该线垂直于两个坐标之间的线.
var locations = [
['', position.coords.latitude, position.coords.longitude, 1],
['', llat, llng, 2]
];
var marker, i;
for ( var i = 0; i < 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);
Run Code Online (Sandbox Code Playgroud)
所以,你有两个点的坐标(x1,y1),并(x2, y2)和你想画线段的长度是它们之间的距离,这是连接它们的线段的垂直平分线,以及由所述段一分为二?
也许最简单的方法是设置cx = (x1 + x2)/2,cy = (y1+y2)/2),dx = (x2-x1)/2,dy = (y2-y1)/2然后从画一条线(cx-dy, cy+dx)来(cx+dy, cy-dx).
这是因为(cx, cy)是你想要的段的中点,然后你只是从该中点获取矢量(x2,y2)并将其旋转正负90度以找到你想要绘制的段的端点.
| 归档时间: |
|
| 查看次数: |
3737 次 |
| 最近记录: |