UNPKG

ngmap

Version:
68 lines (62 loc) 1.74 kB
<!DOCTYPE html> <html ng-app="ngMap"> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script src="script-tags-for-development.js"></script> <script> // Normalizes the coords that tiles repeat across the x axis (horizontally) // like the standard Google map tiles. function getNormalizedCoord(coord, zoom) { var y = coord.y; var x = coord.x; // tile range in one direction range is dependent on zoom level // 0 = 1 tile, 1 = 2 tiles, 2 = 4 tiles, 3 = 8 tiles, etc var tileRange = 1 << zoom; // don't repeat across y-axis (vertically) if (y < 0 || y >= tileRange) { return null; } // repeat across x-axis if (x < 0 || x >= tileRange) { x = (x % tileRange + tileRange) % tileRange; } return { x: x, y: y }; } var moonTypeOptions = { getTileUrl: function(coord, zoom) { var normalizedCoord = getNormalizedCoord(coord, zoom); if (!normalizedCoord) { return null; } var bound = Math.pow(2, zoom); return 'https://mw1.google.com/mw-planetary/lunar/lunarmaps_v1/clem_bw' + '/' + zoom + '/' + normalizedCoord.x + '/' + (bound - normalizedCoord.y - 1) + '.jpg'; }, tileSize: new google.maps.Size(256, 256), maxZoom: 9, minZoom: 0, radius: 1738000, name: 'Moon' }; var moonMapType = new google.maps.ImageMapType(moonTypeOptions); angular.module('ngMap').run(function($rootScope) { $rootScope.moonMapType = moonMapType; }); </script> </head> <body> <ng-map zoom="1" center="0,0" street-view-control="false" map-type-id="moon" map-type-control-options="{ mapTypeIds: ['moon'] }"> <map-type name="moon" object="moonMapType"> </map-type> </ng-map> </body> </html>