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
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.
Ritorna come:
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
Si scopre che c'è un modo per farlo, ma non è così carino.
bonus: apre google maps sulla posizione corrente.
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"
potrebbe salvare 3 byte usando TryStartma genera un output truenella pipeline e costa di più per sopprimerlo.
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).TryStart($true,[int]9e8);$a|% Po*n|% L*|select L*e
PowerShell (non competitivo), 44 byte
(irm freegeoip.net/xml).Response|select *ude
Utilizza un servizio esterno poiché PowerShell non ha built-in interni per la "posizione corrente": si tratta di una geolocalizzazione basata su IP, quindi quasi sicuramente non restituirà la posizione effettiva, restituirà una posizione "predefinita" per il tuo ISP e se esegui questo su una VPN sarà presente ovunque si trovi il punto di uscita.
Ho provato (non come un esercizio di golf) a far funzionare l'API di google maps con il metodo di geolocalizzazione dell'indirizzo wireless mac, ma è tutt'altro che preciso o giocabile.
contrassegnato come non competitivo a causa della inesattezza dei risultati.
PS C:\Users\sweeneyc> (irm freegeoip.net/xml).Response|select *ude
Latitude Longitude
-------- ---------
53.3472 -6.2439
questo viene visualizzato Central Dublin, Irelandquando cercato, tuttavia sono un po 'fuori dal centro città, a circa 8 miglia dal punto di ritorno.
glperGet-Location, purtroppo non credo cheC:\Users\Connorti aiuteranno a fuggire nella foresta molto.