/* (C) GeoBasis-DE/LGB * Copyright by Landesvermessung und Geobasisinformation Brandenburg (LGB) * * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * LICENSE for details. */ /** * View to search for locations. * This view gives the user the choice which type of location to search and * displays results separated by their subtype in a list. To find the locations * it uses the {@link LGB.ext4map.controller.Gazetteer}. */ Ext.define('LGB.ext4map.view.Gazetteer', { extend: 'Ext.window.Window', requires: [ 'LGB.ext4map.view.GazetteerPanel', 'LGB.ext4map.store.LocationResult'], alias: 'widget.gazetteer', /** * @cfg * The title for the window. */ title: 'Ortssuche', /** * @cfg * Label for type 'Address or location'. */ tabAddressLabel: 'Adresse oder Ort', /** * @cfg * Label for type 'Katasterangaben'. */ tabKatasterLabel: 'Katasterangaben', /** * @cfg * Label for type 'Kartenblätter'. */ tabKartenblLabel: 'Kartenblätter', /** * @cfg * Label for type 'Strassendaten'. */ tabStrassenLabel: 'Strassendaten', /** * @cfg * The window height. */ height: 300, /** * @cfg * The window width. */ width: 500, /** * @cfg * The window layout. */ layout: 'fit', /** * @cfg * Automaticaly show the window. */ autoShow: true, /** * @cfg * The modalitiy of the window. */ modal: true, /** * @cfg * Hide the window if closed. */ closeAction: 'hide', /** * @cfg * True to constrain this window within its containing element. */ constrain: true, /** * @cfg * Show address search panel. */ features: {}, /** * @private * Initialize the view. */ initComponent: function() { var me = this; var searchItems = []; if (this.features.searchAddress) { searchItems.push({ title: me.tabAddressLabel, items: [{ xtype: 'gazetteerpanel', name: 'address', textFieldEmpty: 'Beispiel: Heinrich-Mann Allee 103', tooltipText: '<div style="width:410px;">Gesucht werden kann in Brandenburg sowie in Berlin nach:' + '<br><br>' + '- Strassen mit/ohne Hausnummer<br>- Orte (Kreise, Gemeinden, Ortsteile, Gemeindeteile und Wohnplätzen).<br>- Postleitzahlen<br>- Geographische Namen' + '<br><br>' + 'Folgende Beispieleingaben sind möglich:' + '<br><br>' + '<table>' + '<tr style="background-color:#D9E7F8;"><td><b>Einfache Suche nach:</td><td>Eingabe:</td></tr>' + '<tr><td><b>Strasse</td><td>Heinrich-Mann-Allee</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Strasse und Ort</td><td>Heinrich-Mann-Allee, Potsdam</td></tr>' + '<tr><td><b>Strasse und PLZ</td><td>Heinrich-Mann-Allee, 14473</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Strasse und Hausnummer</td><td>Heinrich-Mann-Allee 103</td></tr>' + '<tr><td style="padding-right:5px"><b>Strasse, Hausnummer und Ort</td><td>Heinrich-Mann-Allee 103, Potsdam</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Ort</td><td>Potsdam</td></tr>' + '<tr><td><b>Postleitzahl</td><td>14473</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Geographischer Name (optional Gemeinde oder Landkreis)</td><td>Weinberg Michendorf</td></tr>' + '<tr style="height:20px;"></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Erweiterte Suche nach:</td><td>Eingabe:</td></tr>' + '<tr><td><b>Strasse</td><td>str:Heinrich-Mann-Allee</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Strasse und Ort</td><td>str:Heinrich-Mann-Allee ort:Potsdam</td></tr>' + '<tr><td><b>Strasse und PLZ</td><td>str:Heinrich-Mann-Allee ort:Potsdam</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Strasse und Hausnummer</td><td>str:Heinrich-Mann-Allee nr:103</td></tr>' + '<tr><td><b>Strasse, Hausnummer und Ort</td><td style="padding-right:5px">str:Heinrich-Mann-Allee nr:103 ort:Potsdam</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Ort</td><td>ort:Potsdam</td></tr>' + '<tr><td><b>Postleitzahl</td><td>plz:14473</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Geographischer Name (optional Gemeinde oder Landkreis)</td><td>ort:Weinberg Michendorf</td></tr>' + '</table>' + '<br>' + 'In der einfachen Suche wird nicht weiter nach Strassen gesucht, falls ein Ort mit Ihrer Sucheingabe gefunden wird, wie im Fall "'+'Radebrück'+'".<br>Um explizit nach einer Strasse zu suchen, geben Sie zusätzlich einen Ort zu der Strassensuche an, oder verwenden Sie die erweiterte Suche.' + '</div>' }] }); } if (this.features.searchKataster) { searchItems.push({ title: me.tabKatasterLabel, items: [{ xtype: 'gazetteerpanel', name: 'kataster', textFieldEmpty: 'Beispiel: Gemarkung, Flur, Flurstück', tooltipText: 'Gesucht werden kann in Brandenburg nach:' + '<br><br>' + '- Gemarkung, Flur, Flurstück<br>- Flurstückskennzeichen.' + '<br><br>' + 'Folgende Beispieleingaben sind möglich:' + '<br><br>' + '<table>' + '<tr><td><b>Suche nach:</td><td>Eingabe:</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Gemarkung</b><br>oder<br>oder</td><td>Potsdam<br>120501<br>12-0501</td></tr>' + '<tr><td><b>Gemarkung und Flur</b><br>oder<br>oder</td><td>Potsdam,22<br>120501022<br>12-0501-22</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Gemarkung, Flur und Flurstück</b><br>oder<br>oder</td><td>Potsdam,22,20<br>12050102200020<br>12-0501-22-20</td></tr>' + '<tr><td style="padding-right:5px"><b>Gemarkung, Flur, Flurstück und Nenner</b><br>oder<br>oder</td><td>Potsdam,22,20/3<br>120501022000200003<br>12-0501-22-20-3</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>20-stelliges Flurstückskennzeichen</td><td style="padding-right:5px">12050102200020000300</td></tr>' + '</table>' }] }); } if (this.features.searchKartenblatt) { searchItems.push({ title: me.tabKartenblLabel, items: [{ xtype: 'gazetteerpanel', name: 'kartenblatt', textFieldEmpty: 'Beispiel: 3550-SW', tooltipText: 'Beispielanfragen:' + '<br><br>' + '<table>' + '<tr><td style="padding-right:5px"><b>Suche nach:</td><td>Eingabe:</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>TK10</td><td style="padding-right:5px">3550-SW</td></tr>' + '<tr><td><b>TK25</td><td>3550</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>TK50</td><td>L3550</td></tr>' + '<tr><td style="padding-right:5px"><b>TK100</td><td>C3550</td></tr>' + '</table>' }] }); } if (this.features.searchStrassen) { searchItems.push({ title: me.tabStrassenLabel, items: [{ xtype: 'gazetteerpanel', name: 'strassen', textFieldEmpty: 'Beispiel: L98, 3648007 oder 320', tooltipText: 'Gesucht werden kann in Brandenburg nach:' + '<br><br>' + '- Strassenabschnitte<br>- Netzknoten<br>- Kilometrierung' + '<br><br>' + 'Folgende Beispieleingaben sind möglich:' + '<br><br>' + '<table>' + '<tr><td><b>Suche nach:</td><td>Eingabe:</td></tr>' + '<tr style="background-color:#D9E7F8;"><td><b>Strassenabschnitte</b><br>über Strassenbezeichnung<br>über Strassenbezeichnung und Abschnittsnummer<br>über Gemeindenummer</td><td><br>A2<br>A2, 10<br>12060005</td></tr>' + '<tr><td><b>Netzknoten</b><br>über Netzknotennummer</td><td><br>3648007</td></tr>' + '<tr style="background-color:#D9E7F8;"><td style="padding-right:5px"><b>Kilometrierung</b><br>über Kilometrierung<br>über Strasse und Kilometrierung</td><td><br>4.12<br>A10, 4.12</td></tr>' + '</table>' }] }); } this.items = [{ xtype: 'tabpanel', layout: 'fit', border: false, items: searchItems }]; this.callParent(arguments); }, onResize: function() { this.superclass.onResize.apply(this, arguments); // var container = this.down('container[name=result]'); // container.setHeight(this.down('tabpanel').getHeight() - 69); var tabPanel = this.down('tabpanel'); for (var i = 0; i < tabPanel.items.items.length; i++) { var container = tabPanel.items.items[i].down('container[name=result]'); container.setHeight(tabPanel.getHeight() - 69); } } });