Эта ссылка может быть полезна для вас, так как она детализирует использование формулы Haversine для вычисления расстояния.
Отрывок:
Этот скрипт [в Javascript] вычисляет расстояния между двумя точками, то есть кратчайшее расстояние над земной поверхностью, используя формулу «Haversine».
function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1); // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; // Distance in km
return d;
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}
Один из способов во время разработки - использовать элемент управления Label и установить для него высоту или ширину 1 (2 пикселя и трехмерная граница дают красивый точеный эффект). Или же вы можете рисовать вручную с помощью GDI:
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawLine(myPen, 0, 0, 200, 200)
myPen.Dispose()
formGraphics.Dispose()
То, что сказал Митч Уит, обычно считается правильным ответом, и то, что я сделал в прошлом. Однако, если вы хотите иметь визуальный элемент управления, который можно перетащить в форму, добавьте Microsoft.VisualBasic.PowerPack в набор инструментов Visual Studio. Для этого щелкните правой кнопкой мыши на панели инструментов и выберите «Выбрать элементы ...». Найдите «Форма линии» на вкладке «Компоненты .Net Framework».