overlay-symbol-animate.html 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <!DOCTYPE html>
  2. <html ng-app="myApp">
  3. <head>
  4. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  5. <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
  6. <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
  7. <script src="scripts/app.js"></script>
  8. <!-- build:js scripts/ng-map.min.js -->
  9. <script src="../app/scripts/app.js"></script>
  10. <script src="../app/scripts/directives/map_controller.js"></script>
  11. <script src="../app/scripts/directives/map.js"></script>
  12. <script src="../app/scripts/directives/marker.js"></script>
  13. <script src="../app/scripts/directives/shape.js"></script>
  14. <script src="../app/scripts/services/geo_coder.js"></script>
  15. <script src="../app/scripts/services/navigator_geolocation.js"></script>
  16. <script src="../app/scripts/services/attr2_options.js"></script>
  17. <!-- endbuild -->
  18. <script>
  19. var app = angular.module('myApp', ['ngMap']);
  20. app.controller('OverlaySymbolAnimateCtrl', function($scope, $interval) {
  21. $scope.$on('mapInitialized', function(evt, map) {
  22. var count = 0;
  23. var line = $scope.map.shapes.foo;
  24. $interval(function() {
  25. count = (count + 1) % 200;
  26. var icons = line.get('icons');
  27. icons[0].offset = (count / 2) + '%';
  28. line.set('icons', icons);
  29. }, 20);
  30. });
  31. });
  32. </script>
  33. </head>
  34. <body>
  35. <div ng-controller="OverlaySymbolAnimateCtrl">
  36. <map zoom="5" center="20.291, 153.027" map-type-id="TERRAIN">
  37. <shape name="polyline" id="foo"
  38. icons="[{
  39. icon: {
  40. path: 'CIRCLE',
  41. scale: 8,
  42. strokeColor: '#393'
  43. },
  44. offset: '100%'
  45. }]"
  46. path="[[22.291, 153.027], [18.291, 153.027]]">
  47. </shape>
  48. </map>
  49. </div>
  50. </body>
  51. </html>