Pregunta

¿Hay alguna manera fácil de anular los comportamientos predeterminados de la api de geolocalización y solo el código duro ¿Tu ubicación actual?

Creo que esto sería útil para pruebas y por razones de privacidad (proporcionando datos de ubicación falsos)

Pensé que había un complemento para esto, pero parece que no puedo encontrar uno. La única opción en este momento parece estar cambiando about: config geo.wifi.url a algún servicio web alternativo, que considero demasiado complicado.

¿Alguna idea?

Gracias

Escenario ideal

Alguien implementa un complemento donde aparece un mapa de Google y puedo elegir una nueva ubicación predeterminada.

¿Fue útil?

Solución

El geo.wifi.uri no necesita ser un servicio web. También puede configurarlo en una uri local con el archivo: // ...

El archivo debe ser un archivo json con contenido como este:

{"location": {
              "latitude": 48.777025000000002, 
              "longitude": 9.1713909999999998, 
              "accuracy": 10.0}}

Actualización: Para Firefox 9+, el formato ha cambiado:

{
    "status": "OK",
    "accuracy": 10.0,
    "location": {"lat": 48.777, "lng": 9.171}
}

O puede combinarlos para admitir ambos:

{
    "status": "OK",
    "accuracy": 10.0,
    "location": {
        "lat": 48.777,
        "lng": 9.171,
        "latitude": 48.777,
        "longitude": 9.171,
        "accuracy": 10.0
    }
}

Actualización: parece que la configuración manual de esta preferencia está bloqueada por el proveedor que asume el servicio de Google. Consulte Error 716453 Actualización 2: geo.wifi.uri no geo.wifi.url

Otros consejos

La forma más fácil es navegar a about: config y luego, en el cuadro de filtro, ingresar geo.wifi.uri , hacer doble clic en la única fila de configuración que aparece e ingrese el valor a continuación después de reemplazar xxx y aaa con las coordenadas que obtiene de un servicio como http://www.getlatlon.com/ :

>

Este truco no requiere complementos ni archivos locales / alojados. ¡Asegúrese de que el valor no tenga espacios y esté en una sola línea!

Geolocater es un complemento experimental que le permite editar su geolocalización.

Hmmm, no puede simularse directamente con navigator.geolocation , tal vez pueda refactorizar el código que lo usa para usar otro objeto; diga customGeoLocation .

En producción, solo puede establecer customGeoLocation en navigator.geolocation y en las pruebas use una implementación simulada de cualquier funcionalidad que use.

EDITAR: Resulta que puede reemplazar las funciones en el objeto navigator.geolocation , pero eso no sirve de nada si está utilizando una biblioteca simulada (como JsMock) que debe crear. Un objeto simulado. Por lo tanto, no podría reemplazar navigator.geolocation con un simulacro.

Puedes burlarte de esta manera:

var getCurrentPositionCalled = false;
navigator.geolocation.getCurrentPosition = function() { 
  getCurrentPositionCalled = true; 
};

//Your app code here
//...
assert(getCurrentPositionCalled);

He conectado Google Latitude a la geolocalización de Firefox. Esto le permite actualizar manualmente su ubicación en Google Latitude con un solo clic del mouse, en lugar de buscar su latitud y longitud y escribirla en un archivo local. Mi artículo sobre el tema es Hacer que Firefox tome la geolocalización de Google Latitude .

La solución requería una pequeña cantidad de codificación del lado del servidor (proporciono el código fuente en el artículo), pero por el momento estoy ejecutando este código como un servicio gratuito en vivo que puedes usar.

Saludos, MetaEd

He creado una aplicación web simple que sirve como punto final de geolocalización a la que puede apuntar geo.wifi.uri del navegador. Es compatible con la especificación de la API de Google. Para usarlo, simplemente ingrese lo siguiente, reemplazando [latitud] y [longitud] con los valores deseados:

http://geolocation-mocker.phitherek.me/geolocate/[latitude]/[longitude]

y debería funcionar. Para verificar si el servicio está activo, vaya a

http://geolocation-mocker.phitherek.me

y verifique si la página HTML se muestra correctamente. Puede encontrar el código fuente de esta aplicación simple en

https://github.com/Phitherek/geolocation-mocker

Espero que esta herramienta sea útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top