Ah não! Estou preso em uma grande floresta (ok, na verdade não, mas apenas assuma) e não sei onde estou!
Felizmente, eu trouxe meu laptop. Mas quando pesquisei 'Maps', dizia 'Sem resultados', e estou perguntando isso como último recurso.
Faça um programa que mostre a longitude e latitude da minha localização em qualquer formato de dois números. any two number format
inclui:
- Uma tupla.
- Uma sequência que inclui a longitude e a latitude.
- Um objeto JSON.
- etc ..
Qualquer API ou bibliotecas podem ser usadas. Ou seja, você pode consultar o Google Maps etc. (acho que eles não jogaram na lixeira suas APIs: \)
gl
paraGet-Location
, infelizmente, eu não acho queC:\Users\Connor
vai ajudá-lo a escapar da floresta muito.Respostas:
Mathematica, 4 bytes
Avalia como
GeoPosition[{latitude, longitude}]
.fonte
Sunset[Here] - Now
retorna corretamente a quantidade de tempo até o pôr do sol.JavaScript (ES6),
8982 bytesExperimente online! (Por algum motivo, isso não estava funcionando no snippet).
Explicação
navigator
O objeto faz parte da lista técnica .geolocation
é uma propriedade sua e também é um objeto, que contém dados de geolocalização do usuário.watchPosition()
é um método degeolocation
objeto. Ele utiliza uma função de retorno de chamada que é executada após a recuperação dos dados de localização geográfica. A função de retorno de chamadax=>alert((y=x.coords).latitude+","+y.longitude)
é uma função anônima (lambda) que recebe um objetox
ealert()
são as propriedadeslatitude
e separadas por uma vírgula. Observe que o objeto é passado para a função de retorno de chamada quando a função de retorno de chamada é chamada (ou seja, após a recuperação dos dados de localização geográfica).longitude
x.coords
x
watchPosition()
Nota: Os dados de localização geográfica são baseados no GPS, se o GPS estiver disponível; caso contrário, serão baseados no IP.
fonte
watchPosition
em vez degetCurrentPosition
salva 5 bytes.alert([(y=x.coords).latitude,y.longitude])
economiza mais 2for(f in r=navigator.geolocation)r=r[f](x=>alert((y=x.coords).latitude+","+y.longitude))
Python com solicitações,
10110075 bytes4 bytes salvos graças a @ КириллМалышев
21 bytes salvos graças a @Rod
fonte
from requests import*;print(get('http://ip-api.com/json').text.split(',')[5:7])
deve ser suficientePowerShell, 130 bytes
Ungolfed:
Retorna como:
Acontece que existe uma maneira de fazer isso, mas não é tão bonito.
bônus: abre o Google Maps em sua localização atual.
poderia economizar 3 bytes usando,
TryStart
mas gera umtrue
para o pipeline e custa mais para suprimir isso.PowerShell (não concorrente), 44 bytes
Usa um serviço externo, pois o PowerShell não possui recursos internos para 'local atual' - esse é um local geográfico baseado em IP; portanto, quase definitivamente não retornará sua localização real, ele retornará um local 'padrão' para o seu ISP e, se você executar isso em uma VPN será apresentado onde estiver o ponto de saída.
Eu tentei (não como um exercício de golfe) fazer com que a API do google maps funcionasse com o método de geolocalização sem fio, mas está longe de ser preciso ou jogável.
marcado como não concorrente devido à imprecisão dos resultados.
isso é exibido
Central Dublin, Ireland
quando procurado, mas atualmente estou um pouco fora do centro da cidade, a cerca de 13 quilômetros do ponto retornado.fonte
GeoCoordinateWatcher
existe umTryStart
método que você pode tentar, que parece que retorna quando o status é emReady
vez de repetir. Se esse método estiver disponível, obviamente.true
no pipeline antes que eu possa produzir o lat / long, e acho que provavelmente viola as especificações quando é produzido .[int]9e8
parte quando você definir o tempo limite emTryStart
mas eu não posso obtê-lo para trabalhar com9999999
e[int]9e8
é o mesmo que adicionar um extra 9.(não concorrente) Angolf ,
110107 bytesfonte
C #, 132 bytes
fonte
Excel VBA (Windows, Office 2016 ou superior),
278272 bytessub
Rotina completa que não recebe entrada e gera sua localização atual como umaExcel.ListObject
tabela digitada, incluindo informações extras.Saída de exemplo excluída por razões óbvias.
-2 bytes para uso de
[Sheet1]
mais deSheets(1)
fonte
Swift 4 ,
125 11796 bytesInfelizmente, isso só pode ser testado localmente.
fonte