Oh non! Je suis pris au piège dans une grande forêt (d'accord, pas vraiment, mais suppose-le) et je ne sais pas où je suis!
Heureusement, j'ai apporté mon ordinateur portable. Mais quand j'ai recherché «Cartes», il a dit «Aucun résultat», et je le demande en dernier recours.
Veuillez créer un programme qui génère la longitude et la latitude de mon emplacement dans n'importe quel format à deux chiffres. any two number format
comprend:
- Un tuple.
- Une chaîne incluant la longitude et la latitude.
- Un objet JSON.
- etc..
Toute API ou bibliothèque peut être utilisée. Autrement dit, vous pouvez interroger Google Maps, etc. (je suppose, ils n'ont pas mis à la poubelle leurs API: \)
gl
pourGet-Location
, malheureusement, je ne pense pas queC:\Users\Connor
cela vous aidera beaucoup à échapper à la forêt.Réponses:
Mathematica, 4 octets
Évalue à
GeoPosition[{latitude, longitude}]
.la source
Sunset[Here] - Now
renvoie correctement la durée avant le coucher du soleil.JavaScript (ES6),
8982 octetsEssayez-le en ligne! (Pour une raison quelconque, cela ne fonctionnait pas dans l'extrait de code).
Explication
navigator
l'objet fait partie de la nomenclature .geolocation
est une propriété de son et est également un objet, qui contient des données géolocalisées de l'utilisateur.watchPosition()
est une méthode d'geolocation
objet. Il prend en charge une fonction de rappel qui est exécutée après que les données géolocalisées ont été récupérées. La fonction de rappelx=>alert((y=x.coords).latitude+","+y.longitude)
est une fonction anonyme (lambda) qui prend un objetx
etalert()
s les propriétéslatitude
etlongitude
sontx.coords
séparées par une virgule. Notez que l'objetx
est transmis à la fonction de rappel auwatchPosition()
moment de l'appel de la fonction de rappel (c'est-à-dire après la récupération des données géolocalisées).Remarque: Les données géolocalisées sont basées sur le GPS si le GPS est disponible, sinon elles sont basées sur IP.
la source
watchPosition
au lieu d'getCurrentPosition
enregistrer 5 octets.alert([(y=x.coords).latitude,y.longitude])
enregistre 2 autresfor(f in r=navigator.geolocation)r=r[f](x=>alert((y=x.coords).latitude+","+y.longitude))
Python avec requêtes,
10110075 octets4 octets enregistrés grâce à @ КириллМалышев
21 octets économisés grâce à @Rod
la source
from requests import*;print(get('http://ip-api.com/json').text.split(',')[5:7])
devrait suffirePowerShell, 130 octets
Non golfé:
Renvoie comme:
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.
pourrait économiser 3 octets en utilisant
TryStart
mais il génère untrue
dans le pipeline et coûte plus cher pour supprimer cela.PowerShell (non concurrent), 44 octets
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.
cela s'affiche
Central Dublin, Ireland
lors de la recherche, mais je suis actuellement un peu en dehors du centre-ville, à environ 8 miles du point de retour.la source
GeoCoordinateWatcher
a uneTryStart
méthode que vous pouvez essayer et qui ressemble à ce qu'elle retourne lorsque le statut estReady
au lieu de boucler dessus. Si cette méthode est évidemment disponible.true
dans le pipeline avant que je puisse sortir le lat / long, et je pense que cela viole probablement les spécifications quand c'est sorti .[int]9e8
partie lorsque vous définissez le délai,TryStart
mais je ne peux pas le faire fonctionner9999999
et[int]9e8
c'est la même chose que d'ajouter un 9. supplémentaire(non concurrente) Angolf ,
110107 bytesla source
C #, 132 octets
la source
Excel VBA (Windows, Office 2016+ uniquement),
278272 octetssub
Routine complète qui ne prend aucune entrée et génère votre emplacement actuel sous forme deExcel.ListObject
tableau typé, y compris des informations supplémentaires.Exemple de sortie exclu pour des raisons évidentes.
-2 octets pour l'utilisation de
[Sheet1]
plusSheets(1)
la source
Swift 4 ,
12511796 octetsCela ne peut malheureusement être testé que localement.
la source