Как показать маршрут при нажатии на маркер в листовке?

Я только начал с PhoneGap и Leaflet, и я пытаюсь сделать приложение. У меня есть источник (текущая позиция пользователя) и некоторые пункты назначения. Сначала я не хочу показывать какой-либо маршрут, но когда вы нажимаете / нажимаете на определенный маркер, я хочу показать маршрут от начала до конца. Кроме того, я хочу, чтобы маршрут мог изменяться, если пользователь нажимает на другой маркер. Большое спасибо, я очень застрял в этом!

var app = {
inicio: function() {
  this.iniciaFastClick();
},

iniciaFastClick: function() {
  FastClick.attach(document.body);
},

dispositivoListo: function() {
  navigator.geolocation.getCurrentPosition(app.pintaCoordenadasEnMapa, 
  app.errorAlSolicitarLocalizacion);
},

pintaCoordenadasEnMapa: function(position) {
  var miMapa = L.map('map').setView([position.coords.latitude, 
  position.coords.longitude], 13);

L.tileLayer('https://api.mapbox.com/styles/v1/carmencode/cj9cms4xd5duc2rtid327
amaj/tiles/256/{z}/{x}/{y}?
access_token=pk.eyJ1IjoiY2FybWVuY29kZSIsImEiOiJjajljbXBjYnkxcmdhMnlud3Z6
b3JlbzF1In0.j_w8HZnQfrLArVJQpplmzA', {
  maxZoom: 18
  }).addTo(miMapa);

L.Routing.control({
waypoints: [
L.latLng(position.coords.latitude, position.coords.longitude),
L.latLng(38.0013731, -1.1420178)
],
    lineOptions: {styles: [{color: '#FC6C23'}]},

    routeWhileDragging: true
}).addTo(miMapa);


app.pintaMarcador([37.98534, -1.13585], 'Location2', miMapa);
app.pintaMarcador([38.0013731, -1.1420178], 'Location1', miMapa);
app.pintaMarcador([position.coords.latitude, position.coords.longitude], '¡Estoy aquí!', miMapa);


},

pintaMarcador: function(latlng, texto, mapa){
    var marcador = L.marker(latlng).addTo(mapa);
    marcador.bindPopup(texto).openPopup();
},


errorAlSolicitarLocalizacion: function(error) {
    console.log(error.code + ': ' + error.message);
},



};


if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
    app.inicio();
}, false);
document.addEventListener('deviceready', function() {
    app.dispositivoListo();
}, false);
}

0 ответов

Другие вопросы по тегам