2013-04-24 26 views
12

私は埋め込みGPSを使ってデバイスを探すことにしています(whats app共有場所など)。私はEnableHighAccuracy:trueでそれが可能であることを読んだ。高精度ジオロケーションHtml5

このコードで "enableHighAccuracy:true"を設定するにはどうすればよいですか?私は別のポジションで試しましたが、うまくいきません。

ありがとうございます!

答えて

19

APIに続いて高精度フラグを設定するPositionOptionsオブジェクトが必要です。私はここから引用しています

http://diveintohtml5.info/geolocation.html

getCurrentPosition()関数は、オプションの第三引数、 PositionOptionsオブジェクトを持っています。 PositionOptionsオブジェクトには、3つのプロパティを設定できます( )。すべてのプロパティはオプションです。 のいずれかまたはすべてを設定することも、設定しないこともできます。

POSITIONOPTIONSだから

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

オブジェクト、それは次のように動作するはずです:

私はgetCurrentPosition呼び出しに、次の2つのparams追加気づい
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."); 
} 

:また

,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

@仕事enableHighAccuracyをtrueに設定する代わりにfalseを設定しました。 – Foreever

関連する問題