Bir veritabanından işaretçileri yüklüyorum ve sonra işaretçiler arasında bir polyline çiziyorum. Markör-a'dan marker-b'ye marker-c'ye olan mesafeyi hesaplamak yerine, genel mesafeyi hesaplamak için polyline'ı kullanıyorum.Polyline, yaprakçıktaki yollara yapıştırarak
Mesafelerim yanlıştır, çünkü iki işaretleyici eğri bir yolun etrafındaysa, polyline sadece yol boyunca çekmek yerine onları bağlar.
Bunun Google Haritalar API'sında mümkün olduğunu biliyorum ancak kullanım kısıtlamaları bana uymuyordu, bu yüzden broşür kullanmaya karar verdim.
İşaretleyicilerim birbirinden çok uzak değil, çünkü gps aygıtım her 10 saniyede bir konum gönderiyor.
leaflet-routing-machine eklentisini buldum ve polyline'ımı yollara ayırmak için bunu kullanabilir miyim diye merak ediyordum?
benim haritaya işaretçileri ekliyorum nasıl budur:
function getlocationsfromdb(){
group.clearLayers();
latlngArray.length=0;
var deviceid = $("#selectid").val();
$.ajax({
type: "POST",
url: "functionhandlers/getlocations.php",
data: {deviceid:deviceid,start:start,end:end},
dataType: 'json',
cache: false,
})
.success(function(response) {
$('input').removeClass('error').next('.errormessage').html('');
if(!response.errors && response.result) {
$.each(response.result, function(index, value) {
var latlng = L.latLng(value[7], value[8]);
var marker = L.circleMarker(latlng,{radius:2}).addTo(group);
latlngArray.push(latlng);
});
var polyline = L.polyline(latlngArray, {color: '#605ca8'}).addTo(group);
map.fitBounds(group.getBounds());
var distancetravelled=polyline.measuredDistance();
$("#distancetravelled").html(distancetravelled);
} else {
$.each(response.errors, function(index, value) {
// add error classes
$('input[name*='+index+']').addClass('error').after('<div class="errormessage">'+value+'</div>')
});
}
});
}
birisi bana doğru yönde işaret edebilir?
Bu çözümün bir kontrol oluşturduğundan ve çözümün yarısının harita üzerinde görünmesini engellemekten ötürü biraz dönel kavşak olduğunu anlıyorum. Bir kontrol oluşturmadan, muhtemelen ['L.Routing.osrm'] kullanarak bir yol olduğunu düşünürken (http://www.liedman.net/leaflet-routing-machine/api/#l-routing -osrm) doğrudan, belgelemeden bunu anlayamadım. – nathansnider
Bu harika! Bana bunu açıklamak için zaman ayırdığınız için teşekkürler, çok takdir Nathan! :) –