Bonjour à tous,
En utilisant l'API Google Map V3(web), j'essaye de calculer des itinéraire que j'ai déjà placer leur position.
Le problème c'est que je sais pas comment s'y prendre pour que ce soit les coordonnées gps du téléphone soit prise en compte pour le calcul.
Voici un bout de code que j'ai fais:
Le problème c'est que quand je remplace origin1 par latlng
origins: [latlng],
ça ne marche pas.:aie:
Est-ce que quelqu'un peut m'aider svp?
Merci
En utilisant l'API Google Map V3(web), j'essaye de calculer des itinéraire que j'ai déjà placer leur position.
Le problème c'est que je sais pas comment s'y prendre pour que ce soit les coordonnées gps du téléphone soit prise en compte pour le calcul.
Voici un bout de code que j'ai fais:
Code:
if (navigator.geolocation)
{
function affichePosition(position)
{
var infopos = "Position déterminée : <br>";
infopos += "Latitude : "+position.coords.latitude +"<br>";
infopos += "Longitude: "+position.coords.longitude+"<br>";
document.getElementById("maposition").innerHTML = infopos;
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); //recuperation coordonnée gps
var marker = new google.maps.Marker({
position: latlng,
map: map,
title:"Vous êtes ici"
});
map.panTo(latlng);
}
var origin1 = new google.maps.LatLng(-18.903906,47.522092 );
//Les déstinations
var destinationA = new google.maps.LatLng(-18.868628,47.528051);
var destinationB = new google.maps.LatLng(-18.908939, 47.525125 );
var image = {
url: 'imag/logo.png',
size: new google.maps.Size(40, 40),
origin: new google.maps.Point(0,0),
anchor: new google.maps.Point(0, 0)
};
var originIcon = 'https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=O|FFFF00|000000';
function initialize() {
var opts = {
center: new google.maps.LatLng(-18.909736,47.5246 ),
zoom: 14
};
map = new google.maps.Map(document.getElementById('map-canvas'), opts);
geocoder = new google.maps.Geocoder();
}
function calculateDistances() {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [origin1],
destinations: [destinationA, destinationB],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, callback);
function callback(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
alert('Error was: ' + status);
} else {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
var outputDiv = document.getElementById('outputDiv');
outputDiv.innerHTML = '';
deleteOverlays();
for (var i = 0; i < origins.length; i++) {
var results = response.rows[i].elements;
recuperation = response.rows[i].elements;
addMarker(origins[i], false);
for (var j = 0; j < results.length; j++) {
addMarker(destinations[j], true);
outputDiv.innerHTML += origins[i] + ' -> ' + destinations[j]
+ ': ' + results[j].distance.text + ' en '
+ results[j].duration.text + '<br>';
}
}
}origins: [latlng],
ça ne marche pas.:aie:
Est-ce que quelqu'un peut m'aider svp?
Merci
Aucun commentaire:
Enregistrer un commentaire