PowerShell, 130 байт
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){}$b|select L*e
Безголівки:
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.
Повертається як:
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
Виявляється, є спосіб це зробити, але це не так красиво.
бонус: відкриває карти Google у вашому поточному місцезнаходження.
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"
можна зберегти 3 байти за допомогою, TryStartале це виводить a trueна трубопровід і коштує більше, щоб придушити це.
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).TryStart($true,[int]9e8);$a|% Po*n|% L*|select L*e
PowerShell (не конкуруючий), 44 байти
(irm freegeoip.net/xml).Response|select *ude
Використовується зовнішня послуга, оскільки PowerShell не має внутрішніх вбудованих даних для "поточного місцезнаходження" - це геолокація на основі IP, тому майже точно не поверне фактичне місцеположення, воно поверне "за замовчуванням" місце для вашого провайдера, і якщо ви запустите це через VPN відображатиметься де б не було точки виходу.
Я намагався (не як вправа для гольфу) налагодити API Google Maps для роботи з методом геолокації бездротової адреси mac-адреси, але це далеко не точне чи грізне.
позначені як неконкурентоздатні через неточність результатів.
PS C:\Users\sweeneyc> (irm freegeoip.net/xml).Response|select *ude
Latitude Longitude
-------- ---------
53.3472 -6.2439
Це відображається Central Dublin, Irelandпри пошуку, проте я зараз трохи поза центром міста, приблизно в 8 милях від поверненої точки.
glдляGet-Location, до жаль , я не думаю , щоC:\Users\Connorдопоможе вам уникнути лісу дуже багато.