¡Oh no! Estoy atrapado en un gran bosque (bueno, en realidad no, pero solo asúmalo) y no sé dónde estoy.
Afortunadamente, traje mi laptop. Pero cuando busqué 'Mapas', decía 'Sin resultados', y estoy preguntando esto como último recurso.
Haga un programa que genere la longitud y latitud de mi ubicación en cualquier formato de dos números. any two number format
incluye:
- Una tupla
- Una cadena que incluye la longitud y la latitud.
- Un objeto JSON.
- etc.
Se puede usar cualquier API o Bibliotecas. Es decir, puede consultar Google Maps, etc. (supongo, no tiraron a la basura sus API: \)
gl
paraGet-Location
, lamentablemente, no creo queC:\Users\Connor
te ayude a escapar mucho del bosque.Respuestas:
Mathematica, 4 bytes
Evalúa a
GeoPosition[{latitude, longitude}]
.fuente
Sunset[Here] - Now
devuelve correctamente la cantidad de tiempo hasta el atardecer.JavaScript (ES6),
8982 bytesPruébalo en línea! (Por alguna razón, esto no funcionaba en el fragmento).
Explicación
navigator
objeto es una parte de BOM .geolocation
es una propiedad de él y también es un objeto, que contiene datos geolocalizantes del usuario.watchPosition()
Es un método degeolocation
objeto. Toma una función de devolución de llamada que se ejecuta después de recuperar los datos geolocalizados. La función de devolución de llamadax=>alert((y=x.coords).latitude+","+y.longitude)
es una función anónima (lambda) que toma en un objetox
yalert()
es lalatitude
ylongitude
propiedades de losx.coords
separados por una coma. Tenga en cuenta que el objetox
se pasa a la función de devolución de llamadawatchPosition()
cuando se llama a la función de devolución de llamada (es decir, después de la recuperación de los datos geolocalizados).Nota: Los datos de geolocalización se basan en GPS si el GPS está disponible; de lo contrario, se basa en IP.
fuente
watchPosition
en lugar degetCurrentPosition
guardar 5 bytes.alert([(y=x.coords).latitude,y.longitude])
ahorra 2 másfor(f in r=navigator.geolocation)r=r[f](x=>alert((y=x.coords).latitude+","+y.longitude))
Python con las solicitudes,
10110075 bytes4 bytes guardados gracias a @ КириллМалышев
21 bytes guardados gracias a @Rod
fuente
from requests import*;print(get('http://ip-api.com/json').text.split(',')[5:7])
debería ser suficientePowerShell, 130 bytes
Sin golf:
Devoluciones como:
Resulta que hay una manera de hacer esto, pero no es tan bonita.
bono: abre google maps en tu ubicación actual.
podría ahorrar 3 bytes usando,
TryStart
pero genera una salidatrue
a la tubería y cuesta más suprimir eso.PowerShell (no competidor), 44 bytes
Utiliza un servicio externo ya que PowerShell no tiene funciones internas integradas para la 'ubicación actual'; esta es una geolocalización basada en IP, por lo que casi definitivamente no devolverá su ubicación real, devolverá una ubicación 'predeterminada' para su ISP, y si ejecuta esto sobre una VPN se presentará donde sea que esté el punto de salida.
Intenté (no como un ejercicio de golf) hacer que la API de Google Maps funcione con el método de geolocalización de direcciones MAC inalámbricas, pero está lejos de ser precisa o golfable.
marcado como no competidor debido a la inexactitud de los resultados.
esto aparece
Central Dublin, Ireland
cuando se busca, sin embargo, actualmente estoy un poco fuera del centro de la ciudad, a unas 8 millas del punto de regreso.fuente
GeoCoordinateWatcher
tiene unTryStart
método que puede probar que parece que regresa cuando el estado es enReady
lugar de recorrerlo. Si ese método está disponible obviamente.true
a la tubería antes de que pueda generar el lat / long, y creo que probablemente viola la especificación cuando se genera .[int]9e8
parte cuando se establece el tiempo de espera enTryStart
pero no puedo conseguir que funcione con9999999
y[int]9e8
es lo mismo que añadir un extra 9.(no competitivos) Angolf ,
110107 bytesfuente
C #, 132 bytes
fuente
Excel VBA (Windows, Office 2016+ solamente),
278272 bytessub
Rutina completa que no requiere entrada y da salida a su ubicación actual como unaExcel.ListObject
tabla escrita, incluida información adicional.Ejemplo de salida excluido por razones obvias.
-2 Bytes para uso de
[Sheet1]
más deSheets(1)
fuente
Swift 4 ,
12511796 bytesEsto solo se puede probar localmente, desafortunadamente.
fuente