2013-04-17 70 views
0

我想讓我的腳本從GPS(手機)獲取緯度和長度座標,然後將它們插入谷歌地圖並顯示手機的位置。那麼,我可以從GPS中檢索Lat,Long座標,但不會將它們插入到顯示的地圖的çentre。我的代碼:在谷歌地圖中插入可變GPS座標

<script> 
    $(document).ready(function(){ 
     navigator.geolocation.getCurrentPosition(useposition); 
    }); 
       function useposition(position){ 
      lat = position.coords.latitude; 
      lon = position.coords.longitude; 
      $("#location").html('Lat: ' + lat + '<br />Lon: ' + lon); 

     } 
</script><meta name="viewport" content="initial-scale=1.0, user-scalable=no"<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script><script type="text/javascript"> 
function initialize() { 
    var latlng = new google.maps.LatLng(54,-1); 
    var settings = { 
     zoom: 15, 
     center: latlng, 
     mapTypeControl: true, 
     mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}, 
     navigationControl: true, 
     navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}, 
     mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map"), settings); 
var marker = new google.maps.Marker({  position: latlng,  map: map,  title:"Yeah buddy!" })}; 

       </script> 

,你可以看到我取的GPS座標,我想將其插入我的地圖我與加載:<body onload="initialize()" > </body> 我只是不知道如何從緯度,經度做一個變量,如何在gogle地圖中正確插入它。請幫幫我。

回答

0

我假設'插入座標到地圖'是指在該位置添加一個標記?

您將遇到的第一個問題是您的map變量是初始化函數的局部變量。所以你可以把它變成一個全局變量。然後在你的useposition函數中,你可以簡單地創建一個新的標記。

<script> 
    var map; 

    $(document).ready(function(){ 
     navigator.geolocation.getCurrentPosition(useposition); 
    }); 

    function useposition(position){ 
      lat = position.coords.latitude; 
      lon = position.coords.longitude; 
      $("#location").html('Lat: ' + lat + '<br />Lon: ' + lon); 
      var marker = new google.maps.Marker({  
       position: new google.maps.LatLng(lat,lon),  
       map: map,  
       title:"Your Mobile" }); 
     } 

function initialize() { 
    var latlng = new google.maps.LatLng(54,-1); 
    var settings = { 
     zoom: 15, 
     center: latlng, 
     mapTypeControl: true, 
     mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}, 
     navigationControl: true, 
     navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    map = new google.maps.Map(document.getElementById("map"), settings); 
    var marker = new google.maps.Marker({  position: latlng,  map: map,  title:"Yeah buddy!" }) 
}; 
</script>