O nie! Jestem uwięziony w dużym lesie (Okej, nie do końca, ale załóżmy to) i nie wiem, gdzie jestem!
Na szczęście przyniosłem laptopa. Ale kiedy szukałem „Map”, napisał „Brak wyników” i pytam o to w ostateczności.
Zrób program, który wyprowadza długość i szerokość geograficzną mojej lokalizacji w dowolnym formacie dwóch liczb. any two number format
obejmuje:
- Krotka.
- Ciąg zawierający długość i szerokość geograficzną.
- Obiekt JSON.
- itp..
Można użyć dowolnego interfejsu API lub bibliotek. Oznacza to, że możesz wyszukiwać w Mapach Google itp. (Sądzę, że nie zniszczyli swoich interfejsów API: \)
gl
dlaGet-Location
, niestety nie sądzęC:\Users\Connor
pomogą ci uciec z lasu bardzo dużo.Odpowiedzi:
Mathematica, 4 bajty
Ocenia na
GeoPosition[{latitude, longitude}]
.źródło
Sunset[Here] - Now
poprawnie zwraca czas do zachodu słońca.JavaScript (ES6),
8982 bajtówWypróbuj online! (Z jakiegoś powodu to nie działało we fragmencie).
Wyjaśnienie
navigator
obiekt jest częścią BOM .geolocation
jest jego własnością i jest także obiektem, który zawiera dane geolokalizacyjne użytkownika.watchPosition()
jest metodągeolocation
obiektową. Pobiera funkcję wywołania zwrotnego, która jest wykonywana po pobraniu danych geolokalizacyjnych. Funkcja zwrotnax=>alert((y=x.coords).latitude+","+y.longitude)
jest funkcją anonimowy (N), który wykonuje się w obiekciex
ialert()
Slatitude
ilongitude
właściwościx.coords
oddzielony przecinkami. Zauważ, że obiektx
jest przekazywany do funkcji wywołania zwrotnego wwatchPosition()
momencie wywołania funkcji wywołania zwrotnego (tj. Po pobraniu danych geolokalizacyjnych).Uwaga: Dane geolokalizacyjne są oparte na GPS, jeśli GPS jest dostępny, w przeciwnym razie na podstawie adresu IP.
źródło
watchPosition
zamiastgetCurrentPosition
zapisuje 5 bajtów.alert([(y=x.coords).latitude,y.longitude])
oszczędza jeszcze 2for(f in r=navigator.geolocation)r=r[f](x=>alert((y=x.coords).latitude+","+y.longitude))
Python z żądaniami,
10110075 bajtów4 bajty zapisane dzięki @ КириллМалышев
21 bajtów zapisanych dzięki @Rod
źródło
from requests import*;print(get('http://ip-api.com/json').text.split(',')[5:7])
powinno wystarczyćPowerShell, 130 bajtów
Nie golfowany:
Zwraca jako:
Okazuje się, że jest na to sposób, ale nie jest taki ładny.
bonus: otwiera mapy Google w Twojej bieżącej lokalizacji.
może zaoszczędzić 3 bajty przy użyciu,
TryStart
ale wysyła sygnałtrue
do potoku i kosztuje więcej, aby go stłumić.PowerShell (nie konkuruje), 44 bajty
Korzysta z usługi zewnętrznej, ponieważ PowerShell nie ma wewnętrznych wbudowań dla „bieżącej lokalizacji” - jest to Geolokalizacja oparta na protokole IP, więc prawie na pewno nie zwróci twojej aktualnej lokalizacji, zwróci „domyślną” lokalizację twojego dostawcy usług internetowych, a jeśli uruchomisz to przez VPN będzie prezentować się wszędzie tam, gdzie jest punkt wyjścia.
Próbowałem (nie jako ćwiczenie w golfa), aby interfejs API map Google działał z metodą geolokalizacji adresu bezprzewodowego mac, ale nie jest to dokładne ani możliwe do gry w golfa.
oznaczone jako niekonkurencyjne z powodu niedokładności wyników.
wyświetla się
Central Dublin, Ireland
przy wyszukiwaniu, jednak obecnie jestem nieco poza centrum miasta, około 8 mil od zwróconego punktu.źródło
GeoCoordinateWatcher
maTryStart
metodę, którą można wypróbować, która wygląda na to, że zwraca, gdy status jestReady
w niej zapętlony. Jeśli ta metoda jest oczywiście dostępna.true
do potoku, zanim będę mógł wyprowadzić długość / długość, i myślę, że prawdopodobnie narusza specyfikację, gdy jest ona wyprowadzana .[int]9e8
części, gdy ustawisz limit czasu,TryStart
ale nie mogę go uruchomić9999999
i[int]9e8
jest to to samo, co dodanie dodatkowych 9.(niekonkurujący) Angolf ,
110107 bajtówźródło
C #, 132 bajty
źródło
Excel VBA (tylko Windows, Office 2016+),
278272 bajtówPełna
sub
procedura, która nie pobiera danych wejściowych i wyjściowych z bieżącej lokalizacji jakoExcel.ListObject
tabela z typami, w tym dodatkowe informacje.Przykładowe dane wyjściowe wykluczone z oczywistych powodów.
-2 bajty do wykorzystania
[Sheet1]
ponadSheets(1)
źródło
Swift 4 ,
125 11796 bajtówNiestety można to przetestować tylko lokalnie.
źródło