Fork me on GitHub
Show:

File: ../src/maps/leaflet/util.js

define([
  'aeris/util',
  'leaflet'
], function(_, Leaflet) {
  /**
   * Utility methods for the Aeris Leaflet maps strategy.
   *
   * @class aeris.maps.leaflet.util
   * @static
   */
  var util = {
    /**
     * @method toAerisLatLong
     * @param {L.LatLng} leafletLatLng
     * @return {aeris.maps.LatLon}
     */
    toAerisLatLon: function(leafletLatLng) {
      var wrappedLatLng = leafletLatLng.wrap();
      return [wrappedLatLng.lat, wrappedLatLng.lng];
    },

    /**
     * @method toAerisBounds
     * @param {L.LatLngBounds} leafletBounds
     * @return {aeris.maps.Bounds}
     */
    toAerisBounds: function(leafletBounds) {
      var sw = leafletBounds.getSouthWest();
      var ne = leafletBounds.getNorthEast();
      return [
        util.toAerisLatLon(sw),
        util.toAerisLatLon(ne)
      ];
    },

    /**
     * @param {aeris.maps.LatLon} aerisLatLon
     * @return {L.LatLng}
     */
    toLeafletLatLng: function(aerisLatLon) {
      return new Leaflet.LatLng(aerisLatLon[0], aerisLatLon[1]);
    },

    /**
     * @param {aeris.maps.Bounds} aerisBounds
     * @return {L.LatLngBounds}
     */
    toLeafletBounds: function(aerisBounds) {
      var sw = new Leaflet.LatLng(aerisBounds[0][0], aerisBounds[0][1]);
      var ne = new Leaflet.LatLng(aerisBounds[1][0], aerisBounds[1][1]);

      return new Leaflet.LatLngBounds(sw, ne);
    }
  };

  return util;
});