J'espère que quelqu'un pourra m'aider sur ce que je pense être une réponse facile, mais je n'arrive tout simplement pas à comprendre.javascript geolocation et googlemaps
J'essaie de piéger le lat de géolocalisation et à long et placez-le dans les cartes google api
Jusqu'à présent, j'ai
var myOptions = {
zoom:7,
trips:1,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map"), myOptions);
directionsDisplay.setMap(map);
var request = {
origin: 'newyork'
destination: 'deleware',
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
Cela fonctionne bien pour ce que je veux. Cependant, je veux être en mesure de changer origin
aux utilisateurs lat long en utilisant le script suivant de google.maps.api.
leur code est:
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
var placeMarker = new google.maps.Marker({
position: initialLocation,
map: map,
});
map.setCenter(initialLocation);
}, function() {
handleNoGeolocation(browserSupportFlag);
});
} else {
// Browser doesn't support Geolocation
handleNoGeolocation();
}
function handleNoGeolocation() {
initialLocation = newyork;
map.setCenter(initialLocation);
}
Je veux tirer le
navigator.geolocation.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
et l'affecter à deux variables, 2 myLat
et myLong
. Je veux donc être en mesure de changer mon script Orignal de
var request = {
origin: 'newyork'
destination: 'deleware',
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
à
var request = {
origin: myLat,myLong
destination: 'deleware',
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
-t-il un sens ..?
J'ai actuellement un cochon avec elle et que je ne suis pas un développeur JS c'est ce que je pense, devrait être un peu simple de codage que je perdre la bataille avec ..
Toutes les pensées. ?
acclame douglas pour la réponse rapide.
J'ai trouvé cet exemple de site Web à partir d'une question précédente qui pose un peu de lumière. site est http://npdoty.name/location/
Son exemple se présente comme suit:
navigator.geolocation.getCurrentPosition(function(position){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var marker = new GMarker(new GLatLng(lat, lon));
var jsMap = new GMap2(document.getElementById("jsMap"));
jsMap.addOverlay(marker);
},function(error){
//use error.code to determine what went wrong
});
Puis-je sortir de cet exemple et faire quelque chose de similaire à:
var request = {
navigator.geolocation.getCurrentPosition(function(position){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var myOrigin = new Gorigin(new GLatLng(lat, lon));
origin: myOrigin,
destination: 'deleware',
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
merci beaucoup
Vous devez déplacer 'var request = {' _inside_ le callback 'getCurrentPosition'. Vous voudrez peut-être lire le fonctionnement des callbacks, mais en gros, vous allez faire tout le travail que vous avez dans votre autre code de test comme réponse à l'obtention de l'emplacement de l'utilisateur. Bonne chance! – npdoty