Google Maps API V3 を使用して、デフォルトの開始点から距離を指定して特定の方向に線を引こうとしています。たとえば、デフォルトの出発点がサンフランシスコで、ユーザーが距離を入力したとします。その入力距離に基づいて、米国を横切って東に向かう直線を描画できるようにしたいと考えています。ベアリングと呼ばれるものに出くわしましたが、正しく使用する方法がわかりません。ここに私が取り組んでいるコードがあります:
function initializeMap(){
var mapOptions = {
center: new google.maps.LatLng(36.033036, -93.8655744),
zoom: 4,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var R = 6378137;
var dis = parseInt(document.form['input']['val'].value);
var bearing = 80;
var lat2 = Math.asin( Math.sin(37.470625)*Math.cos(dis/R)+Math.cos(37.470625)*Math.sin(dis/R)*Math.cos(bearing) );
var lon2 = -122.266823 + Math.atan2(Math.sin(bearing)*Math.sin(dis/R)*Math.cos(37.470625),Math.cos(dis/R)-Math.sin(37.470625)*Math.sin(-122.266823));
var impactP = new google.maps.Polyline({
path: new google.maps.LatLng(lat2,lon2),
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
impactP.setMap(map);
}
誰か助けてください。私は本当にこれを機能させたいと思っています。