2015-05-15 4 views
-1

есть ли способ получить автоматически, на загрузку страницы, пользователь lat и long?Получить геолокацию пользователя автоматически и положить гиперссылку

В моем PHP скрипт я хочу, чтобы заполнить автоматически $lat и $long, но я не знаю, как:

<a href="http://maps.google.com/maps?f=d&hl=EN&region=EN&doflg=ptk&saddr='.$lat.','.$long.'&daddr=40.7033127,-73.979681&ie=UTF8&z=12" target="_blank">Get me there</a> 

Любая помощь приветствуется!

решаемых (! Для людей, которые будут нуждаться в ответе в будущем)

function GeoSuccess(position) { 
    var latitude = position.coords.latitude; 
    var longitude = position.coords.longitude; 

    $('#get-directions-link').append("<a href='http://maps.google.com/maps?f=d&hl=EN&region=EN&doflg=ptk&saddr="+latitude+","+longitude+"&daddr=<?php echo $place_locator->lat; ?>,<?php echo $place_locator->long; ?>&ie=UTF8&z=12' target='_blank'>Take me there</a>"); 
} 
function error(msg) { 
    error('There was an error pulling your location'); 
} 
if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(GeoSuccess, error); 
} else { 
    error('Geolocation not supported'); 
} 
+1

Да, это возможно. –

+0

Прошу прощения, но есть ли у вас пример? Потому что я действительно застрял – Mark

+1

[Примеры] (https://www.google.com/search?q=get+browser+user%27s+lat+and+long&ie=utf-8&oe=utf-8) –

ответ

1

Это работает для меня:

function geolocationSuccess(position) { 
    var userLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 

    // Place the marker 
    youHere = new google.maps.MarkerImage("./images/Arrow.png"); 
    new google.maps.Marker({ 
     map: map, 
     position: userLatLng, 
     animation: google.maps.Animation.DROP, 
     icon: youHere 
    }); 
    } 

    function geolocationError(positionError) { 
    document.getElementById("error").innerHTML += "Error: " + positionError.message + "<br />"; 
    } 

    function geolocateUser() { 
    // If the browser supports the Geolocation API 
    if (navigator.geolocation) 
    { 
     var positionOptions = { 
     enableHighAccuracy: true, 
     timeout: 10 * 1000 // 10 seconds 
     }; 
     navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationError, positionOptions); 
    } 
    else 
     document.getElementById("error").innerHTML += "Your browser doesn't support the Geolocation API"; 
    } 

    window.onload = geolocateUser; 
+0

Спасибо, я решил вчера по-другому ... обновить вопрос с помощью решения! – Mark

Смежные вопросы