Геолокация HTML5 enableHighAccuracy True, False или лучший вариант?

У меня проблема с функцией геолокации HTML5. Я использую приведенный ниже код для получения данных о местоположении. Я использую опцию enableHighAccuracy: false для работы с функцией GPS на основе сотовой связи. Точность низкая, но реакция слишком быстрая. Но некоторые люди всегда используют встроенный GPS со своим мобильным телефоном, поэтому этот код для них не работает. Но если я изменю параметр точности на «enableHighAccuracy: true», он сработает для них. Но на этот раз код использует только встроенный GPS. не на основе CELL GPS.

Вопрос -> Как я могу это сделать: Во-первых, попробуйте получить позицию от встроенного GPS с тайм-аутом (например, 5000 мс), если позиция не может быть получена в это время, просто найдите позицию на основе ячейки для тайм-аута (например, 10000 мс) если за это время невозможно получить позицию, вернуть сообщение об ошибке.

Вот код, который я использую сейчас.

Заранее спасибо.

    function getLocationfromGoogle() {
    navigator.geolocation.getCurrentPosition(
      function(pos) {
        $("#lat_field").val(pos.coords.latitude);
        $("#long_field").val(pos.coords.longitude);
        var geocoder = new google.maps.Geocoder();
        var latLng = new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
              geocoder.geocode({ 'latLng': latLng}, function (results, status) {
              if (status == google.maps.GeocoderStatus.OK) {
                //console.log(results[0].formatted_address);
                $("#adresim").val(results[0].formatted_address);
                }
                else {
            alert('Google convertion is not succesfully done.');  

            }
            });
      },function error(msg){

                alert('Please enable your GPS position future.');  

      },{maximumAge:600000, timeout:5000, enableHighAccuracy: false}

    ); 
    }
12
задан Kevin 29 January 2012 в 21:48
поделиться