2014-01-20 106 views
-1

我已經調整了此代碼,嘗試讓它適用於我的情況。我試圖做的是找到訪問者當前的位置,並將負載上的方向映射到某個位置。使用當前位置作爲變量的地理位置

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"> 
</script> 

<script> 
    var directionsDisplay; 
    var directionsService = new google.maps.DirectionsService(); 

    function initialize() { 
    directionsDisplay = new google.maps.DirectionsRenderer(); 
    var mapOptions = { 
     zoom: 7, 
     center: new google.maps.LatLng(38.3094610,-85.5791560) 
    }; 

    var map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions); 
    directionsDisplay.setMap(map); 
    directionsDisplay.setPanel(document.getElementById('directions-panel')); 
    var control = document.getElementById('control'); 
    control.style.display = 'block'; 
    map.controls[google.maps.ControlPosition.TOP_CENTER].push(control); 
    } 

    function calcRoute() { 
    var start = 'current location'; 
    var end = ('38.3094610,-85.5791560'); 
    var request = { 
     origin:start, 
     destination:end, 
     travelMode: google.maps.TravelMode.DRIVING 
    }; 

    directionsService.route(request, function(result, status) { 
     if (status == google.maps.DirectionsStatus.OK) { 
      directionsDisplay.setDirections(result); 
     } 
    }); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 

</script> 

什麼我需要是存儲在一個變量的當前位置,所以我可以在 calcRoute功能開始使用它。

+0

歡迎來到Stack Overflow。當問一個問題時,你應該試着證明你已經做出了一些努力來解決問題並徹底研究它。你不能只轉儲大量的代碼,並期望人們爲你解決它。看到這裏的指導方針提出良好的問題http://stackoverflow.com/questions/how-to-ask –

+0

不要在這裏粗魯,但我說我在第一行的所有.. 「我已經適應此代碼試着讓它爲我的情況工作「 改編的意思,我已經改變/改變/試圖讓它的工作。另外,我已經嘗試過研究這個,你覺得我是如何穿越這個網站的? – user3213379

+0

新用戶提出的所有問題都要經過審覈過程,以確保他們符合上述指導原則,並確保您瞭解其重要性。在這種情況下,我覺得你的問題可以通過那篇文章中的一些建議來改善。如果你選擇這樣做,這當然取決於你。 –

回答

1

首先檢測瀏覽器是否支持在所有的地理跟蹤:

if (!window.navigator|| 
    !window.navigator.geolocation|| 
    !window.navigator.geolocation.watchPosition) return; 

然後建立位置的處理程序:

function geo_success(pos){ 
    var lat=pos.coords.latitude; 
    var lng=pos.coords.longitude; 

    //do your mapping magic here 
} 

function geo_error(pos){ 
    // do nothing 
} 

現在註冊追蹤:

navigator.geolocation.watchPosition(
    geo_success, geo_error, 
    {enableHighAccuracy:true, maximumAge:10000, timeout:10000}); 
0

你問如何從瀏覽器獲取凝膠位置?如果是這樣,嘗試this article

TL; DR

navigator.geolocation.getCurrentPosition(callback); 

其中callback是一個JavaScript功能的用戶的位置已被確定之後調用。

+0

我沒有在代碼中看到它的獲取位置,我搜索瞭如何獲取它們的示例,但我很難實現它們。我所做的每一項更改都會導致部分頁面加載。這似乎是最簡單的,但我不能實現它大聲笑 var lat=pos.coords.latitude; var lng=pos.coords.longitude; @Mike – user3213379

相關問題