karthika pommudu

karthika pommudu

  • NA
  • 321
  • 34.6k

Help,to stop this back moving ‘B’ to ‘A’ marker

Feb 28 2019 11:22 PM
Here the marker moving from one position 'A' to 'B' 
 
but the marker back to move 'B' to 'A' position ,I want to stop the backward 'B' to 'A' position...
  1. var map, marker;  
  2. var startPos = [8.769332, 78.125176];  
  3. var speed = 5000; // km/h  
  4. var delay = 100;  
  5. function animateMarker(marker, coords, km_h)  
  6. {  
  7. var target = 0;  
  8. var km_h = km_h || 50;  
  9. coords.push([startPos[0], startPos[1]]);  
  10. function goToPoint()  
  11. {  
  12. var lat = marker.position.lat();  
  13. var lng = marker.position.lng();  
  14. var step = (km_h * 1000 * delay) / 3600000; // in meters  
  15. var dest = new google.maps.LatLng(  
  16. coords[target][0], coords[target][1]);  
  17. var distance =  
  18. google.maps.geometry.spherical.computeDistanceBetween(  
  19. dest, marker.position); // in meters  
  20. var numStep = distance / step;  
  21. var i = 0;  
  22. var deltaLat = (coords[target][0] - lat) / numStep;  
  23. var deltaLng = (coords[target][1] - lng) / numStep;  
  24. function moveMarker()  
  25. {  
  26. lat += deltaLat;  
  27. lng += deltaLng;  
  28. i += step;  
  29. if (i < distance)  
  30. {  
  31. marker.setPosition(new google.maps.LatLng(lat, lng));  
  32. setTimeout(moveMarker, delay);  
  33. }  
  34. else  
  35. { marker.setPosition(dest);  
  36. target++;  
  37. if (target == coords.length){ target = 0; }  
  38. setTimeout(goToPoint, delay);  
  39. }  
  40. }  
  41. moveMarker();  
  42. }  
  43. goToPoint();  
  44. }  
  45. function initialize()  
  46. {  
  47. var myOptions = {  
  48. zoom: 16,  
  49. center: new google.maps.LatLng(8.769332, 78.125176),  
  50. mapTypeId: google.maps.MapTypeId.ROADMAP  
  51. };  
  52. map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);  
  53. marker = new google.maps.Marker({  
  54. position: new google.maps.LatLng(startPos[0], startPos[1]),  
  55. map: map  
  56. });  
  57. google.maps.event.addListenerOnce(map, 'idle', function()  
  58. {  
  59. animateMarker(marker, [  
  60. // The coordinates of each point you want the marker to go to.  
  61. // You don't need to specify the starting position again.  
  62. [8.772708, 78.118725],  
  63. [8.769332,78.125176],  
  64. [8.765796,78.13168]  
  65. ], speed);  
  66. });  
  67. }  
  68. initialize();  

Answers (1)