차근차근/JAVA JSP

navigator.geolocation.watchPosition

예쁜꽃이피었으면 2015. 1. 6. 17:59



navigator.geolocation.watchPosition 

http://stackoverflow.com/questions/24019286/navigator-geolocation-watchposition-frequency


You code seems to be working fine: http://jsfiddle.net/Mgk9J/1/

I tested it in Android and when I move the cellphone new lines came up. However in chrome desktop it plots new lines when I change tabs even though they're identical to the last ones, according to the spec this isn't the correctly behavior.

It makes a bit of sense for the desktop version do not plot new lines anyway, the computer isn't moving so new success calbacks execution should not be fired.

<script type="text/javascript">//<![CDATA[ 

window.onload=function(){
    var watchID = null;

    // PhoneGap is ready
    //
    function f() {
        // Update every 1 ms seconds
        var options = {enableHighAccuracy: true,timeout: 5000,maximumAge: 0,desiredAccuracy: 0, frequency: 1 };
        watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
    }

    // onSuccess Geolocation
    //
    function onSuccess(position) {

        var str = 'Latitude: '  + position.coords.latitude      + '<br>' +
                  'Longitude: ' + position.coords.longitude     + '<br>' +
                  'Timestamp: ' + position.timestamp     + '<br>\r\n' ;
        document.getElementById('result').value += str;
    }

    // clear the watch that was started earlier
    // 
    function clearWatch() {
        if (watchID != null) {
            navigator.geolocation.clearWatch(watchID);
            watchID = null;
        }
    }

    // onError Callback receives a PositionError object
    //
    function onError(error) {
      alert('code: '    + error.code    + '\n' +
            'message: ' + error.message + '\n');
    }

    document.getElementById('button').addEventListener('click', f);
}//]]>  

</script>


</head>
<body>
      <p id="geolocation">Watching geolocation...</p>
    <button id="button"> Watch</button>
    <textarea id="result" cols="100" rows="10"></textarea>






</body></html>


반응형