diff --git a/sanitiser/_input.js b/sanitiser/_input.js index 4b4cfaaa..d65cf60d 100644 --- a/sanitiser/_input.js +++ b/sanitiser/_input.js @@ -25,28 +25,30 @@ function sanitize( req ){ req.clean.input = params.input; + var parsedAddress0 = {}; + var parsedAddress1 = {}; + var parsedAddress2 = {}; + // naive approach // for admin matching during query time // split 'flatiron, new york, ny' into 'flatiron' and 'new york, ny' var delimIndex = params.input.indexOf(delim); - var parsedAddress0 = {}; if ( delimIndex !== -1 ) { parsedAddress0.name = params.input.substring(0, delimIndex); parsedAddress0.admin_parts = params.input.substring(delimIndex + 1).trim(); } - // address parsing - var parsedAddress1 = parser( params.input ); - - // input parsing - var parsedAddress2 = {}; // set target_layer if input length < 3 characters if (params.input.length <= 3) { + // no address parsing required parsedAddress2.target_layer = get_layers(['admin']); - } - // set target_layer if input suggests no address - if (parsedAddress1.text === parsedAddress1.regions.join(' ')) { - parsedAddress2.target_layer = get_layers(['admin', 'poi']); + } else { + // address parsing + parsedAddress1 = parser( params.input ); + // set target_layer if input suggests no address + if (parsedAddress1.text === parsedAddress1.regions.join(' ')) { + parsedAddress2.target_layer = get_layers(['admin', 'poi']); + } } var parsedAddress = extend(parsedAddress0, parsedAddress1, parsedAddress2);