2015-12-08 3 views
0

Я хочу использовать mapbox для mapView, используя его API Driving Direction. Я хочу использовать этот api, чтобы дать мне маршрут между двумя уже определенными местоположениями. Скажем, мы знаем места, и мы не должны прокладывать маршрут между ними. Также пользователь должен иметь возможность изменять местоположения (Рынки/Штыри на карте) в любое место, которое они хотят, поэтому mapbox должен соответствующим образом нарисовать соответствующий маршрут.Mapbox Driving Direction

Это что-то, что можно сделать с помощью указателя поворота карты, но то, что я также хочу, - это возможность получить места, например, когда пользователь вводит в поле ввода или использует рынки для поиска источника и места назначения, в бэкэнд, я хочу, чтобы отслеживать эти местоположения и регистрировать их.

Javascript MapBox PHP

<div id='map'></div> 
<div id='inputs'></div> 
<div id='errors'></div> 
<!-- 
<div id='directions'> 
    <div id='routes'></div> 
    <div id='instructions'></div> 
</div> 
--> 
<script> 
L.mapbox.accessToken = 'pk.eyJ1IjoiZmFyc2hpZGFsYXZpIiwiYSI6ImNpZjNmNTRrYzQ0b2xzNWx1bXN5MnlmdjUifQ.IvZZfdiPe4rxQNolE88fhg'; 

var start = {lat: '<?php echo $__logbook->__route[0]->latitude ?>', lng: '<?php echo $__logbook->__route[0]->longitude ?>'}; 
var finish = {lat: '<?php echo end($__logbook->__route)->latitude ?>', lng: '<?php echo end($__logbook->__route)->longitude ?>'}; 

var map = L.mapbox.map('map', 'mapbox.streets', {zoomControl: false}).setView([start.lat, start.lng], 6); 

map.attributionControl.setPosition('bottomleft'); 

var directions = L.mapbox.directions(); 

directions.setOrigin(L.latLng(start.lat, start.lng)); 
directions.setDestination(L.latLng(finish.lat, finish.lng)); 
directions.query(); 

var directionsLayer = L.mapbox.directions.layer(directions).addTo(map); 
var directionsInputControl = L.mapbox.directions.inputControl('inputs', directions).addTo(map); 
var directionsErrorsControl = L.mapbox.directions.errorsControl('errors', directions).addTo(map); 
var directionsRoutesControl = L.mapbox.directions.routesControl('routes', directions).addTo(map); 
var directionsInstructionsControl = L.mapbox.directions.instructionsControl('instructions', directions).addTo(map); 

console.log(L.mapbox.directions.inputControl); 

$('#btn').click(function() { 
    var obj = $('#live'); 
    obj.html('I just changed!!!'); 
    obj.trigger('contentchanged'); 
}); 

$('#inputs').bind('contentchanged', function(e) { 
    console.log(L.mapbox.directions.inputControl); 
}); 

</script> 
+0

Я выяснил решение, я загрузил direction.js в свою местную библиотеку и внес много изменений, и на самом деле я объединил его с моим угловым и масштабом (развертыванием), и он работает как шарм. Я рад выставить часть моего кода, оставив мне PM. благодаря – Farshid

ответ

0

выясню решение, я загрузил directions.js в местную библиотеку и сделал много изменений и в самом деле я объединить его с моим угловым и объема (развертывание), и он работает как шарм. Я рад выставить часть моего кода, оставив мне PM. спасибо