]> git.openstreetmap.org Git - nominatim-ui.git/blob - dist/search.html
Merge pull request #16 from mtmail/bootstrap-tabs
[nominatim-ui.git] / dist / search.html
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4   <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
5   <title>OpenStreetMap Nominatim</title>
6   <meta name="viewport" content="width=device-width, initial-scale=1">
7
8   <link rel="icon" type="image/png" href="/assets/images/favicon-194x194.png" sizes="194x194" />
9   <link rel="icon" type="image/png" href="/assets/images/favicon-16x16.png" sizes="16x16" />
10
11   <link href="assets/css/leaflet.css" rel="stylesheet" />
12   <link href="assets/css/Control.MiniMap.min.css" rel="stylesheet" />
13   <link href="assets/css/bootstrap.min.css" rel="stylesheet" />
14   <link href="assets/css/common.css" rel="stylesheet" />
15   <link href="assets/css/search.css" rel="stylesheet" type="text/css" />
16   <link href="assets/css/details.css" rel="stylesheet" type="text/css" />
17 </head>
18 <body id="search-page">
19
20   <div id="error-overlay">
21     You need Javascript enabled to view this page.
22   </div>
23
24   <header class="container-fluid">
25     <div class="row">
26       <div class="col-4">
27         <div class="brand">
28           <a href="/">
29             <img alt="logo" src="assets/images/osm_logo.120px.png" width="30" height="30"/>
30             <h1>Nominatim</h1>
31           </a>
32         </div>
33       </div>
34       <div id="last-updated" class="col-4 text-center">
35         Data from <a id="api-request-link" href="">API request</a>
36         <br>
37         Data last updated:
38         <span id="data-date"></span>
39       </div>
40       <div class="col-4 text-right">
41         <div class="dropdown">
42           <button class="dropdown-toggle btn btn-sm btn-outline-secondary" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
43             About &amp; Help
44           </button>
45           <div class="dropdown-menu dropdown-menu-right">
46             <a class="dropdown-item" href="https://nominatim.org/release-docs/develop/api/Overview/" target="_blank">API Reference</a>
47             <a class="dropdown-item" href="https://nominatim.org/release-docs/develop/api/Faq/" target="_blank">FAQ</a>
48             <a class="dropdown-item" href="https://help.openstreetmap.org/tags/nominatim/">OpenStreetMap Help</a>
49             <a class="dropdown-item" href="https://github.com/osm-search/Nominatim">Nominatim on Github</a>
50             <a class="dropdown-item" href="https://github.com/osm-search/nominatim-ui">This frontend on Github</a>
51             <div class="dropdown-divider"></div>
52             <a class="dropdown-item" href="#" data-toggle="modal" data-target="#report-modal">Report problem with results</a>
53           </div>
54         </div>
55       </div>
56     </div>
57   </header>
58
59   <div class="modal fade" id="report-modal">
60     <div class="modal-dialog">
61       <div class="modal-content">
62         <div class="modal-header">
63           <h4 class="modal-title">Report a problem</h4>
64           <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
65         </div>
66         <div class="modal-body">
67           <p>
68             Before reporting problems please read the <a target="_blank" href="https://nominatim.org/release-docs/develop/api/Overview/">user documentation</a>
69             and
70             <a target="_blank" href="https://nominatim.org/release-docs/develop/api/Faq/">FAQ</a>.
71
72             If your problem relates to the address of a particular search result please use the 'details' link 
73             to check how the address was generated before reporting a problem.
74           </p>
75           <p>
76             Use <a target="_blank" href="https://github.com/osm-search/Nominatim/issues">Nominatim issues on github</a>
77             to report problems.
78           </p>
79           <p>
80             Please ensure that you include a full description of the problem, including the search
81             query that you used, the problem with the result and, if the problem relates to missing data,
82             the osm type (node, way, relation) and id of the item that is missing.
83           </p>
84           <p>
85             Problems that contain enough detail are likely to get looked at before ones that require
86             significant research.
87           </p>
88         </div>
89         <div class="modal-footer">
90           <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">OK</button>
91         </div>
92       </div>
93     </div>
94   </div>
95
96   <main>
97   </main>
98
99   <footer>
100     <p class="disclaimer">
101       Addresses and postcodes are approximate
102     </p>
103     <p class="copyright">
104       &copy; <a href="https://osm.org/copyright">OpenStreetMap</a> contributors
105     </p>
106   </footer>
107
108   <script src="assets/js/jquery.min.js"></script>
109   <script src="assets/js/bootstrap.bundle.min.js"></script>
110   <script src="assets/js/leaflet.js"></script>
111   <script src="assets/js/Control.MiniMap.min.js"></script>
112   <script src="assets/js/handlebars.min.js"></script>
113   <script src="assets/js/url-search-params.js"></script>
114
115   <script src="config.js"></script>
116   <script src="handlebar_helpers.js"></script>
117
118   <script src="assets/js/nominatim-ui.js"></script>
119 <script id="searchpage-template" type="text/x-handlebars-template">
120 {{#*inline "partial_one_result"}}
121   <div class="result" data-position="{{iResNum}}">
122     {{formatMapIcon aResult}}
123
124     <span class="name">{{aResult.display_name}}</span>
125     <span class="type">({{formatLabel aResult}})</span>
126     <p class="coords">{{aResult.lat}},{{aResult.lon}}</p>  
127
128     <a class="details btn btn-outline-secondary btn-sm"
129        href="details.html?osmtype={{shortOSMType aResult.osm_type}}&osmid={{aResult.osm_id}}">details</a>
130   </div>
131 {{/inline}}
132
133 <div class="top-bar">
134   <ul class="nav nav-tabs">
135     <li class="nav-item">
136       <a class="nav-link {{#unless hStructured}}active{{/unless}}" data-toggle="tab" href="#simple">simple</a>
137     </li>
138     <li class="nav-item">
139       <a class="nav-link {{#if hStructured}}active{{/if}}" data-toggle="tab" href="#structured">structured</a>
140     </li>
141     <div class="search-type-link">
142       <a id="switch-to-reverse" href="/reverse.html">reverse search</a>
143     </div>
144   </ul>
145   <div class="tab-content p-2">
146     <div class="tab-pane {{#unless hStructured}}active{{/unless}}" id="simple" role="tabpanel">
147       <form class="form-inline" role="search" accept-charset="UTF-8" action="">
148         <input id="q"
149                name="q"
150                type="text"
151                class="form-control form-control-sm"
152                placeholder="Search"
153                value="{{sQuery}}" />
154
155         <div class="form-group search-button-group">
156           <button type="submit" class="btn btn-primary btn-sm mx-1">Search</button>
157           <input type="hidden" name="viewbox" value="{{sViewBox}}" />
158           <div class="form-check form-check-inline">
159             <input type="checkbox" class="form-check-input"
160                    id="use_viewbox" {{#if sViewBox}}checked="checked"{{/if}}>
161             <label class="form-check-label" for="use_viewbox">apply viewbox</label>
162           </div>
163         </div>
164       </form>
165     </div>
166     <div class="tab-pane {{#if hStructured}}active{{/if}}" id="structured" role="tabpanel">
167       <form class="form-inline" role="search" accept-charset="UTF-8" action="">
168         <input name="street" type="text" class="form-control form-control-sm mr-1"
169                placeholder="House number/Street"
170                value="{{hStructured.street}}" />
171         <input name="city" type="text" class="form-control form-control-sm mr-1"
172                placeholder="City"
173                value="{{hStructured.city}}" />
174         <input id="county" name="county" type="text" class="form-control form-control-sm mr-1"
175                placeholder="County"
176                value="{{hStructured.county}}" />
177         <input name="state" type="text" class="form-control form-control-sm mr-1"
178                placeholder="State"
179                value="{{hStructured.state}}" />
180         <input name="country" type="text" class="form-control form-control-sm mr-1"
181                placeholder="Country"
182                value="{{hStructured.country}}" />
183         <input name="postalcode" type="text" class="form-control form-control-sm mr-1"
184                placeholder="Postal Code"
185                value="{{hStructured.postalcode}}" />
186
187         <div class="form-group search-button-group">
188           <button type="submit" class="btn btn-primary btn-sm mx-1">Search</button>
189           <input type="hidden" name="viewbox" value="{{sViewBox}}" />
190           <div class="form-check form-check-inline">
191             <input type="checkbox" class="form-check-input"
192                    id="use_viewbox" {{#if sViewBox}}checked="checked"{{/if}}>
193             <label class="form-check-label" for="use_viewbox">apply viewbox</label>
194           </div>
195         </div>
196       </form>
197     </div>
198   </div> <!-- /tab-content -->
199 </div> <!-- /top-bar -->
200
201 <div id="content">
202
203   {{#if sQuery}}
204     <div id="searchresults" class="sidebar">
205       {{#each aSearchResults as |aResult|}}
206         {{>partial_one_result iResNum=@index aResult=aResult env=env}}
207       {{/each}}
208
209       {{#if aSearchResults}}
210         {{#if sMoreURL}}
211           <div class="more">
212             <a class="btn btn-primary" href="{{sMoreURL}}">
213               Search for more results
214             </a>
215           </div>
216         {{/if}}
217       {{else}}
218         <div class="noresults">No search results found</div>
219       {{/if}}
220     </div>
221
222   {{else}}
223
224     <div id="intro" class="sidebar">
225       <h2>Welcome to Nominatim</h2>
226
227       <p>
228         Nominatim is a search engine for
229         <a href="https://www.openstreetmap.org">OpenStreetMap</a> data. This
230         is the debugging interface. You may search for a name or address
231         (forward search) or look up data by its geographic coordinate (reverse
232         search). Each result comes with a link to a details page where you
233         can inspect what data about the object is saved in the database and
234         investigate how the address of the object has been computed.
235       </p>
236
237       For more information visit the
238       <a href="https://nominatim.org">Nominatim home page</a>.
239     </div>
240
241   {{/if}}
242
243   <div id="map-wrapper">
244     <div id="map-position">
245       <div id="map-position-inner"></div>
246       <div id="map-position-close"><a href="#">hide</a></div>
247     </div>
248     <div id="map"></div>
249   </div>
250 </div>
251 </script>
252 </body>
253 </html>