как я черчу линию на форме?

Эта ссылка может быть полезна для вас, так как она детализирует использование формулы 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)
}

7
задан l--''''''---------'''''''''''' 16 July 2009 в 12:02
поделиться

2 ответа

Один из способов во время разработки - использовать элемент управления 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()
9
ответ дан 6 December 2019 в 06:14
поделиться

То, что сказал Митч Уит, обычно считается правильным ответом, и то, что я сделал в прошлом. Однако, если вы хотите иметь визуальный элемент управления, который можно перетащить в форму, добавьте Microsoft.VisualBasic.PowerPack в набор инструментов Visual Studio. Для этого щелкните правой кнопкой мыши на панели инструментов и выберите «Выбрать элементы ...». Найдите «Форма линии» на вкладке «Компоненты .Net Framework».

18
ответ дан 6 December 2019 в 06:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: