ipLocnTest
1.0.0
Получите прилично функциональные карты в .NET без использования какого-либо реального картографического API!
Imports System.Device.Location
Поместите следующий код внутри основного класса
DIm n = 0
Private Sub Watcher_StatusChanged(ByVal sender As Object, ByVal e As GeoPositionStatusChangedEventArgs)
n += 1
If e.Status = GeoPositionStatus.Ready Then
If Watcher.Position.Location.IsUnknown Then
txtlat = "Cannot find location data"
Else
txtlat = Watcher.Position.Location.Latitude.ToString() '.Substring(0, 7)
txtlong = Watcher.Position.Location.Longitude.ToString() '.Substring(0, 7)
End If
End If
If n < 10 Then
If txtlat <> "Cannot find location data" And Math.Abs(Val(txtlat)) > 0.0000001 Then
Watcher.Stop()
'the value of txtlat and txtlong has now been set to your location
End If
Else
Watcher.Stop()
'give user some indication of error/ handle the error (thrown when cannot find location)
End If
End Sub
Private Sub LocateMe()
n = 0
Watcher = New GeoCoordinateWatcher()
AddHandler Watcher.StatusChanged, AddressOf Watcher_StatusChanged
Watcher.Start()
End Sub
Вызовите подпрограмму LocateMe(), когда вам потребуется местоположение. При первом использовании появится окно сообщения с запросом разрешения на доступ к местоположению. Значениям txtlat и txtlong будут присвоены широта и долгота.
Обратите внимание, что это обычно не происходит мгновенно и может оказаться неудачным с первой попытки.