marker_dynamic_raw.html 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <!DOCTYPE html>
  2. <html ng-app="myApp">
  3. <head>
  4. <title>Dynamic ngMap demo</title>
  5. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  6. <script src="https://maps.google.com/maps/api/js?sensor=false"></script>
  7. <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.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('mapController', function($scope, $http, $interval) {
  21. var map;
  22. $scope.$on('mapInitialized', function(e, evtMap) {
  23. map = evtMap;
  24. });
  25. $scope.dynMarkers = [];
  26. for (var i = 0; i < 8; i++) {
  27. $scope.dynMarkers[i] = new google.maps.Marker({
  28. title: "Marker: " + i
  29. })
  30. }
  31. $scope.GenerateMapMarkers = function() {
  32. var d = new Date(); //To show marker location changes over time
  33. $scope.date = d.toLocaleString();
  34. var numMarkers = Math.floor(Math.random() * 4) + 4; //between 4 to 8 markers
  35. for (i = 0; i < numMarkers; i++) {
  36. var lat = 43.6600000 + (Math.random() / 100);
  37. var lng = -79.4103000 + (Math.random() / 100);
  38. var loc = new google.maps.LatLng(lat, lng);
  39. $scope.dynMarkers[i].setPosition(loc);
  40. $scope.dynMarkers[i].setMap(map);
  41. }
  42. };
  43. $interval($scope.GenerateMapMarkers, 2000);
  44. });
  45. </script>
  46. <style>
  47. map, div[map] {display:block; width:600px; height:400px;}
  48. </style>
  49. </head>
  50. <body>
  51. <h1>Dynamic ngMap demo</h1>
  52. <hr />
  53. <div ng-controller="mapController">
  54. <map zoom="14" center="[43.6650000, -79.4103000]"></map>
  55. <hr />
  56. <p>Time: {{ date }}</p>
  57. </div>
  58. </body>
  59. </html>