ipLocnTest
1.0.0
実際のマッピング API を必要とせずに、適切な機能を備えたマップを .NET で入手できます。
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 の値は緯度と経度に設定されます。
通常、これは瞬時に行われず、最初の試行では失敗する可能性があることに注意してください。