PowerShell, 130 octets
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).Start();for(;($b=$a|% Po*n|% L*)|% I*){}$b|select L*e
Non golfé:
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.
Renvoie comme:
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
Il s'avère qu'il existe un moyen de le faire, mais ce n'est pas si joli.
bonus: ouvre google maps sur votre position actuelle.
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"
pourrait économiser 3 octets en utilisant TryStartmais il génère un truedans le pipeline et coûte plus cher pour supprimer cela.
Add-Type -A System.Device;($a=[Device.Location.GeoCoordinateWatcher]::new()).TryStart($true,[int]9e8);$a|% Po*n|% L*|select L*e
PowerShell (non concurrent), 44 octets
(irm freegeoip.net/xml).Response|select *ude
Utilise un service externe car PowerShell n'a pas de code interne pour `` l'emplacement actuel '' - il s'agit d'une géolocalisation basée sur IP, donc il ne retournera certainement pas votre emplacement réel, il renverra un emplacement `` par défaut '' pour votre FAI, et si vous exécutez cela sur un VPN présentera où que se trouve le point de sortie.
J'ai essayé (pas comme un exercice de golf) de faire fonctionner l'API Google Maps avec la méthode de géolocalisation sans fil à l'adresse mac, mais c'est loin d'être précis ou jouable au golf.
marqué comme non concurrent en raison de l'inexactitude des résultats.
PS C:\Users\sweeneyc> (irm freegeoip.net/xml).Response|select *ude
Latitude Longitude
-------- ---------
53.3472 -6.2439
cela s'affiche Central Dublin, Irelandlors de la recherche, mais je suis actuellement un peu en dehors du centre-ville, à environ 8 miles du point de retour.
glpourGet-Location, malheureusement, je ne pense pas queC:\Users\Connorcela vous aidera beaucoup à échapper à la forêt.