Ach nein! Ich bin in einem großen Wald gefangen (Okay, nicht wirklich, aber nimm es einfach an) und ich weiß nicht, wo ich bin!
Zum Glück habe ich meinen Laptop mitgebracht. Bei der Suche nach "Karten" wurde jedoch "Keine Ergebnisse" angezeigt, und ich bitte dies als letzten Ausweg.
Bitte erstellen Sie ein Programm, das die Längen- und Breitengrade meines Standorts in einem beliebigen zweistelligen Format ausgibt. any two number format
beinhaltet:
- Ein Tupel.
- Eine Zeichenfolge mit Längen- und Breitengrad.
- Ein JSON-Objekt.
- etc..
Es können beliebige APIs oder Bibliotheken verwendet werden. Das heißt, Sie können Google Maps usw. abfragen. (Ich denke, sie haben ihre APIs nicht in den Papierkorb geworfen: \)
gl
fürGet-Location
, leider glaube ich nichtC:\Users\Connor
werden Sie sehr viel in den Wald helfen zu entkommen.Antworten:
Mathematica, 4 Bytes
Auswertungen zu
GeoPosition[{latitude, longitude}]
.quelle
Sunset[Here] - Now
gibt die Zeit bis zum Sonnenuntergang korrekt zurück.JavaScript (ES6),
8982 BytesProbieren Sie es online! (Aus irgendeinem Grund funktionierte dies im Snippet nicht).
Erläuterung
navigator
Objekt ist Teil der Stückliste .geolocation
ist eine Eigenschaft von ihr und ist auch ein Objekt, das Geolokalisierungsdaten des Benutzers enthält.watchPosition()
ist eine Methode desgeolocation
Objekts. Es wird eine Rückruffunktion verwendet, die ausgeführt wird, nachdem die geografischen Daten abgerufen wurden. Die Rückruffunktionx=>alert((y=x.coords).latitude+","+y.longitude)
ist eine anonyme (Lambda) Funktion, die ein Objektx
undalert()
die durch Komma getrennten Eigenschaften vonlatitude
und aufnimmt . Man beachte , dass das Objekt an die Callback - Funktion durch übergeben wird , wenn die Callback - Funktion (dh nach der Rückholung der Geopositionsdaten) aufgerufen wird.longitude
x.coords
x
watchPosition()
Hinweis: Die geografischen Daten basieren auf GPS, wenn GPS verfügbar ist, andernfalls auf IP.
quelle
watchPosition
stattgetCurrentPosition
spart 5 Bytes.alert([(y=x.coords).latitude,y.longitude])
spart 2 weiterefor(f in r=navigator.geolocation)r=r[f](x=>alert((y=x.coords).latitude+","+y.longitude))
Python mit Anfragen,
10110075 Bytes4 Bytes dank @ КириллМалышев gespeichert
21 Bytes gespart dank @Rod
quelle
from requests import*;print(get('http://ip-api.com/json').text.split(',')[5:7])
sollte genug seinPowerShell, 130 Bytes
Ungolfed:
Rückgabe als:
Es stellt sich heraus, dass es einen Weg gibt, dies zu tun, aber es ist nicht so hübsch.
Bonus: Öffnet Google Maps für Ihren aktuellen Standort.
könnte 3 Bytes einsparen,
TryStart
aber es gibt atrue
an die Pipeline aus und kostet mehr, um dies zu unterdrücken.PowerShell (nicht konkurrierend), 44 Bytes
Verwendet einen externen Dienst, da PowerShell keine internen Funktionen für den aktuellen Standort hat. Dies ist eine IP-basierte Geolokalisierung. Daher wird Ihr tatsächlicher Standort so gut wie nicht zurückgegeben, sondern ein Standardstandort für Ihren Internetdienstanbieter Dies über ein VPN wird überall dort angezeigt, wo sich der Austrittspunkt befindet.
Ich habe versucht (nicht als Golfübung), Google Maps API für die Verwendung mit der Geolokalisierungsmethode für drahtlose Mac-Adressen zu verwenden, aber es ist alles andere als genau und nicht golffähig.
Aufgrund der Ungenauigkeit der Ergebnisse als nicht konkurrierend gekennzeichnet.
Dies wird
Central Dublin, Ireland
beim Aufsuchen angezeigt , allerdings bin ich derzeit etwas außerhalb des Stadtzentrums, ungefähr 8 Meilen vom zurückgegebenen Punkt entfernt.quelle
GeoCoordinateWatcher
gibt es eineTryStart
Methode, die Sie ausprobieren können und die so aussieht, als würde sie zurückgegeben, wenn sich der Status inReady
einer Schleife befindet. Wenn diese Methode offensichtlich verfügbar ist.true
in die Pipeline ausgibt, bevor ich lat / long ausgeben kann, und ich denke, dass es wahrscheinlich die Spezifikation verletzt, wenn das ausgegeben wird .[int]9e8
Teil speichern, wenn Sie die Zeitüberschreitung einstellen,TryStart
aber ich kann nicht damit arbeiten9999999
und[int]9e8
ist das gleiche wie das Hinzufügen einer zusätzlichen 9.(nicht konkurrierend) Angolf ,
110107 Bytesquelle
C #, 132 Bytes
quelle
Excel VBA (nur Windows, Office 2016+),
278272 BytesVolle
sub
Routine, die keine Eingabe annimmt und Ihren aktuellen Standort als ausgibtExcel.ListObject
typisierte Tabelle einschließlich zusätzlicher Informationen .Beispielausgabe aus offensichtlichen Gründen ausgeschlossen.
-2 Bytes für die Verwendung von
[Sheet1]
überSheets(1)
quelle
Swift 4 ,
125 11796 BytesDies kann leider nur lokal getestet werden.
quelle