]> git.openstreetmap.org Git - nominatim-ui.git/blob - dist/details.html
Merge pull request #5 from osm-search/use-place-type-on-detail-page
[nominatim-ui.git] / dist / details.html
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4   <title>OpenStreetMap Nominatim</title>
5   <meta name="viewport" content="width=device-width, initial-scale=1">
6
7   <link rel="icon" type="image/png" href="/assets/images/favicon-194x194.png" sizes="194x194" />
8   <link rel="icon" type="image/png" href="/assets/images/favicon-16x16.png" sizes="16x16" />
9
10   <link href="assets/css/leaflet.css" rel="stylesheet" />
11   <link href="assets/css/Control.MiniMap.min.css" rel="stylesheet" />
12   <link href="assets/css/bootstrap-theme.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="details-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-xs-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-xs-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-xs-4 text-right">
41         <div class="btn-group">
42           <button class="dropdown-toggle btn btn-sm btn-default" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
43             About &amp; Help <span class="caret"></span>
44           </button>
45           <ul class="dropdown-menu dropdown-menu-right">
46             <li><a href="https://nominatim.org/release-docs/develop/api/Overview/" target="_blank">API Reference</a></li>
47             <li><a href="https://nominatim.org/release-docs/develop/api/Faq/" target="_blank">FAQ</a></li>
48             <li><a href="https://help.openstreetmap.org/tags/nominatim/">OpenStreetMap Help</a></li>
49             <li><a href="https://github.com/openstreetmap/Nominatim">Nominatim on Github</a></li>
50             <li role="separator" class="divider"></li>
51             <li><a href="#" class="" data-toggle="modal" data-target="#report-modal">Report problem with results</a></li>
52           </ul>
53         </div>
54       </div>
55     </div>
56   </header>
57
58   <div class="modal fade" id="report-modal">
59     <div class="modal-dialog">
60       <div class="modal-content">
61         <div class="modal-header">
62           <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
63           <h4 class="modal-title">Report a problem</h4>
64         </div>
65         <div class="modal-body">
66           <p>
67             Before reporting problems please read the <a target="_blank" href="https://nominatim.org/release-docs/develop/api/Overview/">user documentation</a>
68             and
69             <a target="_blank" href="https://nominatim.org/release-docs/develop/api/Faq/">FAQ</a>.
70
71             If your problem relates to the address of a particular search result please use the 'details' link 
72             to check how the address was generated before reporting a problem.
73           </p>
74           <p>
75             Use <a target="_blank" href="https://github.com/openstreetmap/Nominatim/issues">Nominatim issues on github</a>
76             to report problems.
77           </p>
78           <p>
79             Please ensure that you include a full description of the problem, including the search
80             query that you used, the problem with the result and, if the problem relates to missing data,
81             the osm type (node, way, relation) and id of the item that is missing.
82           </p>
83           <p>
84             Problems that contain enough detail are likely to get looked at before ones that require
85             significant research.
86           </p>
87         </div>
88         <div class="modal-footer">
89           <button type="button" class="btn btn-default" data-dismiss="modal">OK</button>
90         </div>
91       </div>
92     </div>
93   </div>
94
95   <main>
96   </main>
97
98   <footer>
99     <p class="disclaimer">
100       Addresses and postcodes are approximate
101     </p>
102     <p class="copyright">
103       &copy; <a href="https://osm.org/copyright">OpenStreetMap</a> contributors
104     </p>
105   </footer>
106
107   <script src="assets/js/jquery.min.js"></script>
108   <script src="assets/js/bootstrap.min.js"></script>
109   <script src="assets/js/leaflet.js"></script>
110   <script src="assets/js/Control.MiniMap.min.js"></script>
111   <script src="assets/js/handlebars.min.js"></script>
112   <script src="assets/js/url-search-params.js"></script>
113
114   <script src="config.js"></script>
115   <script src="handlebar_helpers.js"></script>
116
117   <script src="assets/js/nominatim-ui.js"></script>
118 <script id="detailspage-template" type="text/x-handlebars-template">
119
120 {{#*inline "partial_details_one_row"}}
121   <tr class="{{isaddresses_unused this}}">
122     <td class="name">
123       {{#if this.localname}}
124         {{this.localname}}
125       {{else}}
126         <span class="noname">No Name</span>
127       {{/if}}
128     </td>
129     <td>{{formatPlaceType this}}</td>
130     <td>{{osmLink this}}</td>
131     <td>{{this.rank_address}}</td>
132     <td>{{formatAdminLevel this.admin_level}}</td>
133     <td>{{formatDistance this.distance}}</td>
134     <td>{{detailsPermaLink this 'details >'}}</td>
135   </tr>
136 {{/inline}}
137
138 {{#*inline "partial_details_keyword_one_row"}}
139   <tr>
140     <td>{{formatKeywordToken this.token}}</td>
141     {{#if this.id}}
142       <td>word id: {{this.id}}</td>
143     {{/if}}
144   </tr>
145 {{/inline}}
146
147
148 {{#*inline "partial_h2"}}
149   <tr class="all-columns"><td colspan="6"><h2>{{this}}</h2></td></tr>
150 {{/inline}}
151
152 {{#*inline "partial_h3"}}
153   <tr class="all-columns"><td colspan="6"><h3>{{this}}</h3></td></tr>
154 {{/inline}}
155
156 <div class="container">
157   <div class="row">
158     <div class="col-sm-10">
159       <h1>
160         {{aPlace.localname}}
161         <small>{{detailsPermaLink aPlace 'link to this page'}}</small>
162       </h1>
163     </div>
164     <div class="col-sm-2 text-right">
165       {{formatMapIcon aPlace.icon}}
166     </div>
167   </div>
168   <div class="row">
169     <div class="col-md-6">
170       <table id="locationdetails" class="table table-striped">
171         <tr>
172           <td>Name</td>
173           <td>
174             {{#each aPlace.names}}
175               <div class="line">
176                 <span class="name">{{this}}</span> ({{@key}})
177               </div>
178             {{/each}}
179           </td>
180         </tr>
181         <tr>
182           <td>Type</td>
183           <td>{{aPlace.category}}:{{aPlace.type}}</td>
184         </tr>
185         <tr>
186           <td>Last Updated</td>
187           <td>{{aPlace.indexed_date}}</td>
188         </tr>
189         <tr>
190           <td>Admin Level</td>
191           <td>{{aPlace.admin_level}}</td>
192         </tr>
193         <tr>
194           <td>Rank</td>
195           <td>{{formatSearchRank aPlace.rank_search}}</td>
196         </tr>
197         {{#if aPlace.calculated_importance}}
198           <tr>
199             <td>Importance</td>
200             <td>
201               {{aPlace.calculated_importance}}
202               {{#unless aPlace.importance}} (estimated){{/unless}}
203             </td>
204           </tr>
205         {{/if}}
206         <tr>
207           <td>Coverage</td>
208           <td>{{coverageType aPlace}}</td>
209         </tr>
210         <tr>
211           <td>Centre Point (lat,lon)</td>
212           <td>
213             {{aPlace.centroid.coordinates.[1]}},{{aPlace.centroid.coordinates.[0]}}
214           </td>
215         </tr>
216         <tr>
217           <td>OSM</td>
218           <td>{{osmLink aPlace}}
219         </tr>
220         <tr>
221           <td>
222             Place Id
223             (<a href="https://nominatim.org/release-docs/develop/api/Output/#place_id-is-not-a-persistent-id">on this server</a>)
224           </td>
225           <td>{{aPlace.place_id}}</td>
226         </tr>
227         {{#if aPlace.calculated_wikipedia}}
228           <tr>
229             <td>Wikipedia Calculated</td>
230             <td>{{wikipediaLink aPlace}}</td>
231           </tr>
232         {{/if}}
233         <tr>
234           <td>Computed Postcode</td>
235           <td>{{aPlace.calculated_postcode}}</td>
236         </tr>
237         <tr>
238           <td>Address Tags</td>
239           <td>
240             {{#each aPlace.addresstags}}
241               <div class="line">
242                 <span class="name">{{this}}</span> ({{@key}})
243               </div>
244             {{/each}}
245           </td>
246         </tr>
247         <tr>
248           <td>Extra Tags</td>
249           <td>
250             {{#each aPlace.extratags}}
251               <div class="line">
252                 <span class="name">{{this}}</span> ({{@key}})
253               </div>
254             {{/each}}
255           </td>
256         </tr>
257       </table>
258     </div>
259     <div class="col-md-6">
260       <div id="map"></div>
261     </div>
262   </div>
263   <div class="row">
264     <div class="col-md-12">
265       <h2>Address</h2>
266        <table id="address" class="table table-striped table-responsive">
267         <thead>
268           <tr>
269             <th>Local name</th>
270             <th>Type</th>
271             <th>OSM</th>
272             <th>Address rank</th>
273             <th>Admin level</th>
274             <th>Distance</th>
275             <th></th>
276           </tr>
277         </thead>
278         <tbody>
279           {{#if aPlace.address}}
280             {{#each aPlace.address}}
281               {{> partial_details_one_row}}
282             {{/each}}
283           {{/if}}
284
285           {{#if aPlace.linked_places}}
286             {{> partial_h2 'Linked Places'}}
287             {{#each aPlace.linked_places}}
288               {{> partial_details_one_row}}
289             {{/each}}
290           {{/if}}
291
292           {{#if aPlace.keywords}}
293             {{> partial_h2 'Name Keywords'}}
294             {{#each aPlace.keywords.name}}
295               {{> partial_details_keyword_one_row}}
296             {{/each}}
297
298             {{> partial_h2 'Address Keywords'}}
299             {{#each aPlace.keywords.address}}
300               {{> partial_details_keyword_one_row}}
301             {{/each}}
302           {{/if}}
303
304           {{> partial_h2 'Parent Of'}}
305           {{#if aPlace.hierarchy}}
306
307             {{#each aPlace.hierarchy as |lines type|}}
308               {{> partial_h3 type}}
309               {{#each lines}}
310                 {{> partial_details_one_row}}
311               {{/each}}
312             {{/each}}
313           {{else}}
314             <tr>
315               <td>
316                 <a class="btn btn-default btn-xs"
317                   href="{{base_url}}&hierarchy=1">display child places</a>
318               </td>
319             </tr>
320           {{/if}}
321           {{tooManyHierarchyLinesWarning aPlace}}
322         </tbody>
323       </table>
324     </div>
325   </div>
326 </div>
327
328 </script>
329 <script id="detailspage-index-template" type="text/x-handlebars-template">
330 <div class="container" id="details-index-page">
331   <div class="row">
332     <div class="col-md-12">
333
334       <h1>Show details for place</h1>
335
336       <div class="search-form">
337         <h4>Search by place id</h4>
338
339         <form class="form-inline" action="details.html">
340           <input type="edit"
341                  class="form-control input-sm"
342                  pattern="^[0-9]+$"
343                  name="place_id"
344                  placeholder="12345" />
345           <input type="submit"
346                  class="btn btn-primary btn-sm"
347                  value="Show" />
348         </form>
349       </div>
350
351       <div class="search-form">
352         <h4>Search by OSM type and OSM id</h4>
353
354         <form id="form-by-type-and-id"
355               class="form-inline"
356               action="details.html">
357           <input type="edit"
358                  class="form-control input-sm"
359                  pattern="^[NWR][0-9]+$"
360                  placeholder="N123 or W123 or R123" />
361           <input type="hidden" name="osmtype" />
362           <input type="hidden" name="osmid" />
363           <input type="submit" class="btn btn-primary btn-sm" value="Show" />
364         </form>
365       </div>
366
367       <div class="search-form">
368         <h4>Search by openstreetmap.org URL</h4>
369
370         <form id="form-by-osm-url"
371               class="form-inline"
372               action="details.html">
373           <input type="edit"
374                  class="form-control input-sm"
375                  pattern=".*openstreetmap.*"
376                  placeholder="https://www.openstreetmap.org/relation/123" />
377           <input type="hidden" name="osmtype" />
378           <input type="hidden" name="osmid" />
379           <input type="submit" class="btn btn-primary btn-sm" value="Show" />
380         </form>
381       </div>
382
383     </div>
384   </div>
385 </div></script>
386 </body>
387 </html>