123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <!DOCTYPE html>
- <html ng-app="myapp">
- <head>
- <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
- <script src="https://maps.google.com/maps/api/js?libraries=visualization"></script>
- <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.js"></script>
- <!-- build:js scripts/ng-map.min.js -->
- <script src="../app/scripts/app.js"></script>
- <script src="../app/scripts/directives/map_controller.js"></script>
- <script src="../app/scripts/directives/map.js"></script>
- <script src="../app/scripts/directives/marker.js"></script>
- <script src="../app/scripts/directives/shape.js"></script>
- <script src="../app/scripts/directives/heatmap-layer.js"></script>
- <script src="../app/scripts/services/geo_coder.js"></script>
- <script src="../app/scripts/services/navigator_geolocation.js"></script>
- <script src="../app/scripts/services/attr2_options.js"></script>
- <!-- endbuild -->
- <script src="taxi-data.js"></script>
- <script>
- var app = angular.module('myapp', ['ngMap']);
- app.controller('LayerHeatmapCtrl', function($scope) {
- var heatmap;
- $scope.$on('mapInitialized', function(event, map) {
- heatmap = map.heatmapLayers.foo;
- });
- $scope.toggleHeatmap= function(event) {
- heatmap.setMap(heatmap.getMap() ? null : $scope.map);
- };
- $scope.changeGradient = function() {
- var gradient = [
- 'rgba(0, 255, 255, 0)',
- 'rgba(0, 255, 255, 1)',
- 'rgba(0, 191, 255, 1)',
- 'rgba(0, 127, 255, 1)',
- 'rgba(0, 63, 255, 1)',
- 'rgba(0, 0, 255, 1)',
- 'rgba(0, 0, 223, 1)',
- 'rgba(0, 0, 191, 1)',
- 'rgba(0, 0, 159, 1)',
- 'rgba(0, 0, 127, 1)',
- 'rgba(63, 0, 91, 1)',
- 'rgba(127, 0, 63, 1)',
- 'rgba(191, 0, 31, 1)',
- 'rgba(255, 0, 0, 1)'
- ]
- heatmap.set('gradient', heatmap.get('gradient') ? null : gradient);
- }
- $scope.changeRadius = function() {
- heatmap.set('radius', heatmap.get('radius') ? null : 20);
- }
- $scope.changeOpacity = function() {
- heatmap.set('opacity', heatmap.get('opacity') ? null : 0.2);
- }
- });
- </script>
- </head>
- <body>
- <style>
- div[ng-controller=LayerHeatmapCtrl] {
- position:relative;
- }
- div[ng-controller=LayerHeatmapCtrl] #panel{
- position: absolute;
- top: 5px;
- left: 50%;
- margin-left: -180px;
- z-index: 5;
- background-color: #fff;
- padding: 5px;
- border: 1px solid #999;
- }
- </style>
- <div ng-controller="LayerHeatmapCtrl">
- <div id="panel">
- <button ng-click="toggleHeatmap()">Toggle Heatmap</button>
- <button ng-click="changeGradient()">Change gradient</button>
- <button ng-click="changeRadius()">Change radius</button>
- <button ng-click="changeOpacity()">Change opacity</button>
- </div>
- <map zoom="13" center="37.774546, -122.433523" map-type-id="SATELLITE">
- <heatmap-layer id="foo" data="taxiData"></heatmap>
- </map>
- </div>
- </body>
- </html>
|