我有lat1格式的point1和米格式的距离。现在我的问题是
如何使用point1和distance获得Point2?
我发现了很多相关的问题而且无法理解他们的扩展讨论。
我只想要简单的javascript公式或代码来演示如何进行计算。
非常感谢。
更新
距离包含2个方向:x和y
偏离中心的X米。
偏离中心的Y米。
在这里,中心是point1。 所以
point1看起来像:-34.127895,140.56842
距离看起来像:3532米,9211米
更新2
我几乎在那里,我找到了计算三角形第三(未知)侧面的公式。 现在我有罪(wantedAngel)=正弦(90)/(X * Y)。 现在我只想知道如何在Javascript中进行un-sin()数学运算。 WantAngel正在承受。
答案 0 :(得分:1)
你无法通过简单的方式计算出来。由于地球不是平坦的表面,纬度和经度不容易对流量计。
查看this表(这将有助于阅读整篇文章)。你可以看到一度纬度等于111.32 km。向北23度,它只相当于102.47公里,直到达到零到达北极。
看看圆圈越来越小到顶部和底部:
我认为它不会比这里提供的方法容易得多: How to calculate the latlng of a point a certain distance away from another?
答案 1 :(得分:0)
所有学分转到@geocodezip:)
JavaScript的:
function initialize() {
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(-34.127895, 140.56842),
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var bounds = new google.maps.LatLngBounds();
var infowindow = new google.maps.InfoWindow();
var marker = new google.maps.Marker({
position: map.getCenter(),
map: map
});
bounds.extend(map.getCenter());
var south = google.maps.geometry.spherical.computeOffset(marker.getPosition(),3532,180);
var line1 = new google.maps.Polyline({
map:map,
path: [marker.getPosition(),south],
strokeWeight: 2,
strokeColor: "#ff0000"
});
bounds.extend(south);
var destination = google.maps.geometry.spherical.computeOffset(south,9211,90);
bounds.extend(destination);
var line2 = new google.maps.Polyline({
map:map,
path: [south, destination],
strokeWeight: 2,
strokeColor: "#ff0000"
});
var destMarker = new google.maps.Marker({
position: destination,
map:map
});
map.fitBounds(bounds);
document.getElementById('info').innerHTML = "distance is "+(google.maps.geometry.spherical.computeDistanceBetween(marker.getPosition(), destination)/1000.0).toFixed(2)+" km";
var line3 = new google.maps.Polyline({
map:map,
path: [marker.getPosition(), destMarker.getPosition()],
strokeWeight: 2,
strokeColor: "#0000FF"
});
}
google.maps.event.addDomListener(window, 'load', initialize);
Html
<div id="map-canvas"></div>
<div id="info"></div>
CSS
#map-canvas, html, body {
height: 95%;
width: 100%;
}
或者你可以看看: