ipLocnTest
1.0.0
Obtenga mapas con funciones decentes en .NET, ¡sin ninguna API de mapas real involucrada por su parte!
Imports System.Device.Location
Ponga el siguiente código dentro de la clase principal
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
Llame al sub LocateMe() cuando necesite la ubicación. Para el primer uso, aparecerá un cuadro de mensaje solicitando permiso para acceder a la ubicación. Los valores de txtlat y txtlong se establecerán en latitud y longitud.
Tenga en cuenta que esto no suele ser instantáneo y puede fallar en el primer intento.