Advertisement
Guest User

Untitled

a guest
Aug 18th, 2016
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function initialize() {
  2.   $.getJSON('/getcords', function(data) {
  3.     var markers = [];
  4.     for(var i = 0; i < data.markers.length; i++)
  5.     {
  6.       markers.push({
  7.         latitude: data.markers[i].latitude,
  8.         longitude: data.markers[i].longitude,
  9.       })
  10.     }
  11.     var mapOptions = {
  12.       center: new google.maps.LatLng(52.406374, 16.925168),
  13.       zoom: 4,
  14.       mapTypeId: google.maps.MapTypeId.ROADMAP,
  15.       scrollwheel: false,
  16.       draggable: true,
  17.       panControl: true,
  18.       zoomControl: true,
  19.       mapTypeControl: true,
  20.       scaleControl: true,
  21.       streetViewControl: true,
  22.       overviewMapControl: true,
  23.       rotateControl: true,
  24.     };
  25.  
  26.     var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
  27.     var dist = 0;
  28.     var lat_lng = new Array();
  29.     var latlngbounds = new google.maps.LatLngBounds();
  30.     for (i = 0; i < markers.length; i++) {
  31.       var data = markers[i]
  32.       var myLatlng = new google.maps.LatLng(data.latitude, data.longitude);
  33.       lat_lng.push(myLatlng);
  34.       var marker = new google.maps.Marker({
  35.         position: myLatlng,
  36.         map: map,
  37.         title: data.title
  38.       });
  39.       latlngbounds.extend(marker.position);
  40.       (marker, data);
  41.     }
  42.     map.setCenter(latlngbounds.getCenter());
  43.     map.fitBounds(latlngbounds);
  44.  
  45.     var path = new google.maps.MVCArray();
  46.     var service = new google.maps.DirectionsService();
  47.     var poly = new google.maps.Polyline({ map: map, strokeColor: '#4986E7' });
  48.  
  49.     for (var i = 0; i < lat_lng.length; i++) {
  50.       if ((i + 1) < lat_lng.length) {
  51.         var src = lat_lng[i];
  52.         var des = lat_lng[i + 1];
  53.         path.push(src);
  54.         poly.setPath(path);
  55.         service.route({
  56.           origin: src,
  57.           destination: des,
  58.           travelMode: google.maps.DirectionsTravelMode.DRIVING
  59.         }, function (result, status) {
  60.           if (status == google.maps.DirectionsStatus.OK) {
  61.             for (var i = 0, len = result.routes[0].overview_path.length; i < len; i++) {
  62.               path.push(result.routes[0].overview_path[i]);
  63.             }
  64.  
  65.             for(var j = 0; i < result.routes[0].legs.length; j++)
  66.             {
  67.               dist += result.routes[0].legs[j].distance.value;
  68.  
  69.             }
  70.               $('#distance').text(dist + " KM");
  71.           }
  72.         });
  73.       }
  74.     }
  75.  
  76.     marker = new google.maps.Marker({
  77.       map:map,
  78.       position: new google.maps.LatLng(markers[markers.length-1].latitude, markers[markers.length-1].longitude),
  79.       icon: '/img/maluch_map.png'
  80.     });
  81.   })
  82. }
  83. google.maps.event.addDomListener(window, 'load', initialize);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement