2016-04-02 3 views
0

Я совершенно не знаком с Лифлетом, и я пытаюсь добавить полилинию между маркерами из базы данных. Я использую jQuery для добавления маркеров из ответа ajax (который отлично работает). Я прочитал документацию, и я не могу понять, как добавить полилинию. Это то, что я пробовал:Как добавить полилинию в массив маркеров?

Отрывок моего JQuery

.success(function(response) { 
     if(!response.errors && response.result) { 
      $.each(response.result, function(index, value) { 
       markerArray.push(L.marker([value[7], value[8]], {icon: greenIcon}));     
      }); 
      var group = L.featureGroup(markerArray).addTo(map); 
      var polyline = L.polyline(markerArray, {color: 'red'}).addTo(map); 
      map.fitBounds(group.getBounds());  

     } else { 
      $.each(response.errors, function(index, value) { 
       // add error classes 
       $('input[name*='+index+']').addClass('error').after('<div class="errormessage">'+value+'</div>') 
      }); 
     } 
    }); 

ответ

1

Вы должны использовать массив LatLng в вашем полилинии конструктор (здесь используется L.Marker массив)

I будет предлагаться:

$.each(response.result, function(index, value) { 
     var latlng = L.latLng(value[7], value[8]); 
     markerArray.push(L.marker(latlng, {icon: greenIcon})); 
     latlngArray.push(latlng);    
    }); 

    var group = L.featureGroup(markerArray).addTo(map); 
    var polyline = L.polyline(latlngArray, {color: 'red'}).addTo(map); 
+0

Работает отлично! Я вижу, где я совершил свою ошибку. Огромное спасибо :) –

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