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 | |
10 |
|
11 |
|
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 |
|
46 | module.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 && 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 && 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>
|