turf shortest path
by bulutkartal
HTML
<script src="https://maps.googleapis.com/maps/api/js?v=3&libraries=geometry"></script>
<script src="https://npmcdn.com/@turf/[email protected]/turf.min.js"></script>
<div id="map"></div>
CSS
html,
body,
#map {
height: 100%;
width: 100%;
padding: 0px;
margin: 0px;
}
JavaScript
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 5,
minZoom: 1,
center: {
lat: -6,
lng: 2
},
streetViewControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
// Turf format :Lon, Lat
var start = [-5, -6];
var end = [9, -6];
var options = {
obstacles: turf.polygon([[[0, -7], [5, -7], [5, -3], [0, -3], [0, -7]]]),
//minDistance: (2)
};
var path = turf.shortestPath(start, end, options);
map.data.addGeoJson(path);
var polyCoords = [
{lat: -7, lng: 0},
{lat: -3, lng: 0},
{lat: -3, lng: 5},
{lat: -7, lng: 5}
];
// Construct the polygon.
var bpoly = new google.maps.Polygon({
paths: polyCoords,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
bpoly.setMap(map);