UNPKG

3.15 kBHTMLView Raw
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="utf-8">
5 <title>JSDoc: Source: lib/model/search/bbox.js</title>
6
7 <script src="scripts/prettify/prettify.js"> </script>
8 <script src="scripts/prettify/lang-css.js"> </script>
9 <!--[if lt IE 9]>
10 <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
11 <![endif]-->
12 <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
13 <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
14</head>
15
16<body>
17
18<div id="main">
19
20 <h1 class="page-title">Source: lib/model/search/bbox.js</h1>
21
22
23
24
25
26
27 <section>
28 <article>
29 <pre class="prettyprint source linenums"><code>/**
30{
31 "geoboundingbox": true,
32 "geoboxupperleftlon": 15.43,
33 "geoboxupperleftlat": 43.15,
34 "geoboxbottomrightlat": 47.15,
35 "geoboxbottomrightlon": 15.47
36
37 bbox: {
38 coords: [
39 { latitude: '', longitude: ''}, // top position
40 { latitude: '', longitude: ''} // bottom position
41 ]
42 }
43}
44*/
45
46module.exports = function (params, query) {
47
48 if(!params) return;
49
50 if(query.geodistance) {
51 throw new Error("Bounding box and distance search cannot be used together");
52 }
53
54 query.geoboundingbox = true;
55
56 var hasBbox = false;
57 if(params.coords) {
58 // [toplat, toplon, bottomlat, bottomlon]
59 if(params.coords instanceof Array &amp;&amp; params.coords.length === 4) {
60 query.geoboxupperleftlat = params.coords[0];
61 query.geoboxupperleftlon = params.coords[1];
62 query.geoboxbottomrightlat = params.coords[2];
63 query.geoboxbottomrightlon = params.coords[3];
64 hasBbox = true;
65 }
66 //[{lat, lon}, {lat, lon}]
67 if(params.coords instanceof Array &amp;&amp; params.coords.length === 2) {
68 query.geoboxupperleftlat = params.coords[0].lat || params.coords[0].latitude;
69 query.geoboxupperleftlon = params.coords[0].lon || params.coords[0].longitude;
70 query.geoboxbottomrightlat = params.coords[1].lat || params.coords[1].latitude;
71 query.geoboxbottomrightlon = params.coords[1].lon || params.coords[1].longitude;
72 hasBbox = true;
73 }
74 }
75
76 if(!hasBbox) {
77 throw new Error("The values provided for `coords` option are not valid");
78 }
79
80};
81</code></pre>
82 </article>
83 </section>
84
85
86
87
88</div>
89
90<nav>
91 <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Action.html">Action</a></li><li><a href="Channel.html">Channel</a></li><li><a href="Client.html">Client</a></li><li><a href="Raptor.html">Raptor</a></li><li><a href="RecordSet.html">RecordSet</a></li><li><a href="ResultSet.html">ResultSet</a></li><li><a href="ServiceObject.html">ServiceObject</a></li><li><a href="Stream.html">Stream</a></li><li><a href="User.html">User</a></li></ul><h3>Global</h3><ul><li><a href="global.html#Container">Container</a></li></ul>
92</nav>
93
94<br class="clear">
95
96<footer>
97 Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.2</a> on Wed Nov 02 2016 11:15:06 GMT+0100 (CET)
98</footer>
99
100<script> prettyPrint(); </script>
101<script src="scripts/linenumber.js"> </script>
102</body>
103</html>