Ejemplo n.º 1
0
 serializeData: function(){
     let modelJSON = this.model.toJSON();
     let viewData = {
         target: modelJSON.target,
         lat: modelJSON.mouseLat,
         lon: modelJSON.mouseLon
     };
     switch(getCoordinateFormat()){
         case 'degrees':
             viewData.lat = mtgeo.toLat(viewData.lat);
             viewData.lon = mtgeo.toLon(viewData.lon);
         break;
         case 'decimal':
         break;
     }
     return viewData;
 }
Ejemplo n.º 2
0
  updateClickCoordinates: function() {
    const lat = this.get('mouseLat')
    const lon = this.get('mouseLon')
    const dms = `${mtgeo.toLat(lat)} ${mtgeo.toLon(lon)}`
    // TODO: Move leaking defensive check knowledge to usng library (DDF-4335)
    const mgrs =
      lat > 84 || lat < -80
        ? undefined
        : converter.LLtoUSNG(lat, lon, usngPrecision)
    const utmUps = converter.LLtoUTMUPS(lat, lon)

    this.set({
      clickLat: lat,
      clickLon: lon,
      clickDms: dms,
      clickMgrs: mgrs,
      clickUtmUps: utmUps,
    })
  },
Ejemplo n.º 3
0
 serializeData: function() {
   let modelJSON = this.model.toJSON()
   let viewData = {
     target: modelJSON.target,
     lat: modelJSON.mouseLat,
     lon: modelJSON.mouseLon,
   }
   switch (getCoordinateFormat()) {
     case 'degrees':
       viewData.lat =
         typeof viewData.lat === 'undefined'
           ? viewData.lat
           : mtgeo.toLat(viewData.lat)
       viewData.lon =
         typeof viewData.lon === 'undefined'
           ? viewData.lon
           : mtgeo.toLon(viewData.lon)
       break
     case 'decimal':
       viewData.lat =
         typeof viewData.lat === 'undefined'
           ? viewData.lat
           : `${leftPad(Math.floor(viewData.lat), 3, ' ')}.${Math.abs(
               viewData.lat % 1
             )
               .toFixed(6)
               .toString()
               .slice(2)}`
       viewData.lon =
         typeof viewData.lon === 'undefined'
           ? viewData.lon
           : `${leftPad(Math.floor(viewData.lon), 4, ' ')}.${Math.abs(
               viewData.lon % 1
             )
               .toFixed(6)
               .toString()
               .slice(2)}`
       break
   }
   return viewData
 },
Ejemplo n.º 4
0
  clearMouseCoordinates() {
    this.set({
      mouseLat: undefined,
      mouseLon: undefined,
    })
  },
  updateMouseCoordinates(coordinates) {
    this.set({
      mouseLat: Number(coordinates.lat.toFixed(6)), // wrap in Number to chop off trailing zero
      mouseLon: Number(wrapNum(coordinates.lon, -180, 180).toFixed(6)),
    })
  },
  updateClickCoordinates() {
    const lat = this.get('mouseLat')
    const lon = this.get('mouseLon')
    const dms = `${mtgeo.toLat(lat)} ${mtgeo.toLon(lon)}`
    const mgrs = converter.isInUPSSpace(lat)
      ? undefined
      : converter.LLtoUSNG(lat, lon, usngPrecision)
    const utmUps = converter.LLtoUTMUPS(lat, lon)
    this.set({
      coordinateValues: {
        lat,
        lon,
        dms,
        mgrs,
        utmUps,
      },
    })
  },
})
Ejemplo n.º 5
0
 * <http://www.gnu.org/licenses/lgpl.html>.
 *
 **/
/*global require*/
var Marionette = require('marionette')
var template = require('./map-settings.hbs')
var CustomElements = require('js/CustomElements')
var Property = require('component/property/property')
var PropertyView = require('component/property/property.view')
var user = require('component/singletons/user-instance')
var mtgeo = require('mt-geo')
var Common = require('js/Common')

var exampleLat = '14.94'
var exampleLon = '-11.875'
var exampleDegrees = mtgeo.toLat(exampleLat) + ' ' + mtgeo.toLon(exampleLon)
var exampleDecimal = exampleLat + ' ' + exampleLon

module.exports = Marionette.LayoutView.extend({
  template: template,
  tagName: CustomElements.register('map-settings'),
  modelEvents: {},
  events: {},
  regions: {
    coordinateFormat: '> .property-coordinate-format',
    coordinateFormatExample: '> .property-coordinate-example',
  },
  ui: {},
  initialize: function() {
    this.listenTo(
      user.get('user').get('preferences'),