projections.js 631 B

12345678910111213141516171819202122232425262728293031323334
  1. var projs = [
  2. require('./projections/merc'),
  3. require('./projections/longlat')
  4. ];
  5. var names = {};
  6. var projStore = [];
  7. function add(proj, i) {
  8. var len = projStore.length;
  9. if (!proj.names) {
  10. console.log(i);
  11. return true;
  12. }
  13. projStore[len] = proj;
  14. proj.names.forEach(function(n) {
  15. names[n.toLowerCase()] = len;
  16. });
  17. return this;
  18. }
  19. exports.add = add;
  20. exports.get = function(name) {
  21. if (!name) {
  22. return false;
  23. }
  24. var n = name.toLowerCase();
  25. if (typeof names[n] !== 'undefined' && projStore[names[n]]) {
  26. return projStore[names[n]];
  27. }
  28. };
  29. exports.start = function() {
  30. projs.forEach(add);
  31. };