layer-data-dynamic.html 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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.google.com/maps/api/js?sensor=false"></script>
  6. <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.js"></script>
  7. <!-- build:js scripts/ng-map.min.js -->
  8. <script src="../app/scripts/app.js"></script>
  9. <script src="../app/scripts/directives/map_controller.js"></script>
  10. <script src="../app/scripts/directives/map.js"></script>
  11. <script src="../app/scripts/directives/marker.js"></script>
  12. <script src="../app/scripts/directives/shape.js"></script>
  13. <script src="../app/scripts/directives/map-data.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('LayerDataEventCtrl', function($scope) {
  21. $scope.styleFunc = function(feature) {
  22. var color = 'gray';
  23. if (feature.getProperty('isColorful')) {
  24. color = feature.getProperty('color');
  25. }
  26. return /** @type {google.maps.Data.StyleOptions} */({
  27. fillColor: color,
  28. strokeColor: color,
  29. strokeWeight: 2
  30. });
  31. };
  32. $scope.onClick= function(event) {
  33. event.feature.setProperty('isColorful', true);
  34. };
  35. $scope.onMouseover = function(event) {
  36. $scope.map.data.revertStyle();
  37. $scope.map.data.overrideStyle(event.feature, {strokeWeight: 8});
  38. };
  39. $scope.onMouseout = function(event) {
  40. $scope.map.data.revertStyle();
  41. };
  42. });
  43. </script>
  44. </head>
  45. <body>
  46. <div ng-controller="LayerDataEventCtrl">
  47. <map zoom="4" center="-28, 137.883">
  48. <map-data
  49. set-style="styleFunc"
  50. on-click="onClick()"
  51. on-mouseover="onMouseover()"
  52. on-mouseout="onMouseout()"
  53. load-geo-json="https://storage.googleapis.com/maps-devrel/google.json"></map-data>
  54. </map>
  55. <h1>{{letter}}</h1>
  56. </div>
  57. </body>
  58. </html>