projections.js 706 B

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