PowerShell, 130 bytes
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){}$b|select L*e
Ungolfed:
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.
Retorna como:
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
Acontece que existe uma maneira de fazer isso, mas não é tão bonito.
bônus: abre o Google Maps em sua localização atual.
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"
poderia economizar 3 bytes usando, TryStartmas gera um truepara o pipeline e custa mais para suprimir isso.
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).TryStart($true,[int]9e8);$a|% Po*n|% L*|select L*e
PowerShell (não concorrente), 44 bytes
(irm freegeoip.net/xml).Response|select *ude
Usa um serviço externo, pois o PowerShell não possui recursos internos para 'local atual' - esse é um local geográfico baseado em IP; portanto, quase definitivamente não retornará sua localização real, ele retornará um local 'padrão' para o seu ISP e, se você executar isso em uma VPN será apresentado onde estiver o ponto de saída.
Eu tentei (não como um exercício de golfe) fazer com que a API do google maps funcionasse com o método de geolocalização sem fio, mas está longe de ser preciso ou jogável.
marcado como não concorrente devido à imprecisão dos resultados.
PS C:\Users\sweeneyc> (irm freegeoip.net/xml).Response|select *ude
Latitude Longitude
-------- ---------
53.3472 -6.2439
isso é exibido Central Dublin, Irelandquando procurado, mas atualmente estou um pouco fora do centro da cidade, a cerca de 13 quilômetros do ponto retornado.
glparaGet-Location, infelizmente, eu não acho queC:\Users\Connorvai ajudá-lo a escapar da floresta muito.