2013-04-24 7 views
12

मैं एम्बेडेड जीपीएस (जैसे ऐप शेयर स्थान क्या है) का उपयोग कर डिवाइस का पता लगाने की कोशिश कर रहा हूं। मैंने पढ़ा है कि EnableHighAccuracy: true के साथ यह संभव है।उच्च सटीकता भौगोलिक स्थान Html5

मैं इस कोड में "enableHighAccuracy: true" कैसे सेट कर सकता हूं? मैंने अलग-अलग पदों में कोशिश की लेकिन यह काम नहीं करता है।

बहुत बहुत धन्यवाद!

उत्तर

19

आपको एक स्थिति ऑप्शन ऑब्जेक्ट की आवश्यकता है, जिसमें आप API के बाद उच्च सटीकता ध्वज सेट करते हैं।

मैं यहाँ से उद्धृत कर रहा हूँ: http://diveintohtml5.info/geolocation.html

getCurrentPosition() फ़ंक्शन एक वैकल्पिक तीसरा तर्क है, एक PositionOptions आपत्ति है। ऐसे तीन गुण हैं जिन्हें आप स्थिति ऑप्शन ऑब्जेक्ट में सेट कर सकते हैं। सभी गुण वैकल्पिक हैं। आप किसी भी या सभी या उनमें से कोई भी सेट कर सकते हैं।

POSITIONOPTIONS

Property   Type  Default  Notes 
-------------------------------------------------------------- 
enableHighAccuracy Boolean  false  true might be slower 
timeout    long (no default) in milliseconds 
maximumAge    long 0    in milliseconds 

तो वस्तु, इसे इस तरह से काम करना चाहिए:

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(function(position){ 
    var latitude = position.coords.latitude; 
    var longitude = position.coords.longitude; 
    var accuracy = position.coords.accuracy; 
    var coords = new google.maps.LatLng(latitude, longitude); 
    var mapOptions = { 
     zoom: 15, 
     center: coords, 
     mapTypeControl: true, 
     navigationControlOptions: { 
      style: google.maps.NavigationControlStyle.SMALL 
     }, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

    var capa = document.getElementById("capa"); 
    capa.innerHTML = "latitud: " + latitude + " longitud: " + " aquesta es la precisio en metres : " + accuracy; 

     map = new google.maps.Map(
      document.getElementById("mapContainer"), mapOptions 
      ); 
     var marker = new google.maps.Marker({ 
       position: coords, 
       map: map, 
       title: "ok" 
     }); 


    },function error(msg){alert('Please enable your GPS position future.'); 

    }, {maximumAge:600000, timeout:5000, enableHighAccuracy: true}); 

}else { 
    alert("Geolocation API is not supported in your browser."); 
} 

देखा मैं getCurrentPosition कॉल करने के लिए निम्न 2 पैरामीटर कहा:

,function error(msg){alert('Please enable your GPS position future.');} 

, {maximumAge:600000, timeout:5000, enableHighAccuracy: true}); 

भी देखें : Geolocation HTML5 enableHighAccuracy True , False or Best Option?

+1

धन्यवाद !! हालांकि, मुझे 65 मीटर से कम सटीकता नहीं मिल सकती है :( –

+3

@meework आपने इसे सही सेट करने के बजाय सक्षम हाईएक्चुरिटी झूठी सेट की है। – Foreever

संबंधित मुद्दे