PowerShell, 130 byte
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){}$b|select L*e
Ung dung:
Add-Type -AssemblyName System.Device #Required to access System.Device.Location namespace
$GeoWatcher = New-Object System.Device.Location.GeoCoordinateWatcher #Create the required object
$GeoWatcher.Start() #Begin resolving current locaton
whille ($GeoWatcher.Status -ne "Ready") do { sleep -Milliseconds 100 } #Wait for discovery.
$GeoWatcher.Position.Location | Select Latitude,Longitude #Select the relevent results.
Trả về như:
PS C:\users\sweeneyc\Desktop> Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){}$b|select L*e
Latitude Longitude
-------- ---------
53.4064177191653 -6.36202495701332
Hóa ra có một cách để làm điều này, nhưng nó không quá đẹp.
phần thưởng: mở google maps trên vị trí hiện tại của bạn.
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){};saps "https://www.google.ie/maps/@$($b.Latitude),$($b.Longitude)z"
có thể tiết kiệm 3 byte bằng cách sử dụng TryStartnhưng nó xuất ra một trueđường ống và chi phí cao hơn để triệt tiêu điều đó.
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).TryStart($true,[int]9e8);$a|% Po*n|% L*|select L*e
PowerShell (không cạnh tranh), 44 Byte
(irm freegeoip.net/xml).Response|select *ude
Sử dụng dịch vụ bên ngoài vì PowerShell không có nội dung bên trong cho 'vị trí hiện tại' - đây là Định vị địa lý dựa trên IP, do đó gần như chắc chắn sẽ không trả lại vị trí thực của bạn, nó sẽ trả về vị trí 'mặc định' cho ISP của bạn và nếu bạn chạy cái này qua VPN sẽ xuất hiện bất cứ nơi nào có điểm thoát.
Tôi đã thử (không phải là một bài tập golf) để làm cho API bản đồ google hoạt động với phương pháp định vị địa lý không dây-mac, nhưng nó không chính xác hoặc có thể chơi được.
đánh dấu là không cạnh tranh do tính không chính xác của kết quả.
PS C:\Users\sweeneyc> (irm freegeoip.net/xml).Response|select *ude
Latitude Longitude
-------- ---------
53.3472 -6.2439
màn hình này Central Dublin, Irelandkhi đã tìm kiếm lên, tuy nhiên tôi là một chút bên ngoài trung tâm thành phố hiện nay, khoảng 8 dặm từ điểm trở lại.
gllàmGet-Location, thật đáng buồn, tôi không nghĩC:\Users\Connorsẽ giúp bạn thoát khỏi khu rừng rất nhiều.