2016-04-12 15 views
0

Kullanmakta olduğum kod, kullanıcının konumunu bulan koddur.Birisi, getCurrentPosition ile watch position() işlevini nasıl kullanabileceğimi gösterebilir mi?

if (navigator.geolocation) navigator.geolocation.getCurrentPosition(function(pos) { 
     me = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude); 
     infoWindow.setPosition(me); 
      infoWindow.setContent('Location found.'); 
     }, 

    function(error) { 
     handleLocationError(true, infoWindow, map.getCenter()); 
    }); 
    else { 
     // Browser doesn't support Geolocation 
     handleLocationError(false, infoWindow, map.getCenter()); 
     } 
     function handleLocationError(browserHasGeolocation, infoWindow, pos) { 
     infoWindow.setPosition(me); 
     infoWindow.setContent(browserHasGeolocation ? 
          'Error: The Geolocation service failed.' : 
          'Error: Your browser doesn\'t support geolocation.'); 
    } 

aşağıda izle pozisyon işlevinde eklemeye çalıştık ama çalışmıyor, nasıl çalıştığını emin değilim.

var watchID = navigator.geolocation.watchPosition(function(position) { 
    (position.coords.latitude, position.coords.longitude); 
}); 

function getLocationUpdate(){ 
      if(navigator.geolocation){ 
       // timeout at 60000 milliseconds (60 seconds) 
       var options = {timeout:60000}; 
       geoLoc = navigator.geolocation; 
       watchID = geoLoc.watchPosition(showLocation, errorHandler, options); 
      } 

      else{ 
       alert("Sorry, browser does not support geolocation!"); 
      } 

Birisi, kullanıcının haritadaki konumunu izlememe yardımcı olabilirse bunu gerçekten takdir ediyorum! Çok teşekkür ederim.

cevap

0

watchPosition() yöntemi, aygıtın konumu her değiştiğinde otomatik olarak çağrılan bir eylemci işlevini kaydetmek için kullanılır. Ayrıca, isteğe bağlı olarak, bir hata geri arama işlevini de belirtebilirsiniz.

Bu yöntem, bir saat kimliği değeri döndürür, ardından işleyicinin kaydını silmek için clearWatch() yöntemine geçirerek kullanılabilir.

Kullanıcının geçerli konumunu elde etmek için getCurrentPosition() yöntemini çağırabilirsiniz. Bu, kullanıcının konumunu algılamak için eşzamansız bir istek başlatır ve güncel bilgileri almak için konumlandırma donanımını sorgular. Konum belirlendiğinde, tanımlı geri arama işlevi yürütülür. İsteğe bağlı olarak, bir hata meydana geldiğinde ikincil bir geri çağırma işlevi sağlayabilirsiniz. Üçüncü, isteğe bağlı, parametre, döndürülen konumun maksimum yaşını, isteğin beklendiği zamanı ve konum için yüksek doğruluk istiyorsanız bir seçenek nesnesidir.

Eğer pozisyon verisi değişirse (cihaz hareketi ile veya daha doğru coğrafi bilgi geldiğinde), güncellenmiş konum bilgisi ile çağrılan bir geri arama fonksiyonu ayarlayabilirsiniz. Bu, getCurrentPosition() ile aynı girdi parametrelerine sahip watchPosition() işlevi kullanılarak yapılır. Geri arama işlevi birden çok kez çağrılır ve tarayıcının konumunuzu güncellediğinizde güncelleştirmesine ya da sizi coğrafi konumlandırmak için farklı teknikler kullanıldığından daha doğru bir konum sağlamasına olanak tanır. getCurrentPosition() için olduğu gibi isteğe bağlı olan hata geri çağırma işlevi, tekrar tekrar çağrılabilir.

fazla bilgi için de bu SO question bu documentation

kontrol edin.

İlgili konular