2016-09-20 42 views
0

我正在使用cordova來使用watchPosition()方法找出設備位置。我能夠成功檢索到職位,但我想將表位()的緯度和經度值傳遞給Google地圖。我怎樣才能做到這一點?我如何在地圖上顯示錶位lat lon

的index.html

<div id="map"></div> 
<script> 
    var map; 
    function initMap() { 
    var myLatLng = { 
     //here the lat and lon should update on intervals 
    }; 

    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 12, 
     center: myLatLng 
    }); 

    var marker = new google.maps.Marker({ 
     position: myLatLng, 
     map: map, 
     title: 'Hello World!' 
    }); 
    } 
</script> 

app.js

$("#getGeolocation").on('click', function(){ 
     document.addEventListener("deviceready", onDeviceReady, false); 
      function onDeviceReady() {   
       function onSuccess(position) { 
        var element = document.getElementById('geolocation'); 
        element.innerHTML = 'Latitude: ' + position.coords.latitude  + '<br />' + 
             'Longitude: ' + position.coords.longitude  + '<br />' + 
             '<hr />'  + element.innerHTML; 
       } 

       function onError(error) { 
        alert('code: ' + error.code + '\n' + 
          'message: ' + error.message + '\n'); 
       } 

       var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { timeout: 3000 }); 
     } 
    }); 

回答

1

在你onSuccess事件處理程序更新標記的位置是這樣的:

function onSuccess(position) { 
    var pos = { 
     lat: position.coords.latitude, 
     lng: position.coords.longitude 
    }; 

    // Center map 
    map.setCenter(pos); 

    // Update marker position 
    marker.setPosition(pos); 
} 
0

這是通過你的經度和緯度,顯示谷歌地圖的JavaScript。

 var myLatlng = new google.maps.LatLng(-34.397, 150.644); 
       var myOptions = { 
       zoom: 8, 
       center: myLatlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
       } 
       var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
相關問題