diff options
Diffstat (limited to 'misc/openlayers/examples/mobile-sencha.js')
-rw-r--r-- | misc/openlayers/examples/mobile-sencha.js | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/misc/openlayers/examples/mobile-sencha.js b/misc/openlayers/examples/mobile-sencha.js deleted file mode 100644 index 1b79455..0000000 --- a/misc/openlayers/examples/mobile-sencha.js +++ /dev/null @@ -1,198 +0,0 @@ -Ext.ns('App'); - -/** - * The model for the geonames records used in the search - */ -Ext.regModel('Geonames', { - fields: ['countryName', 'toponymName', 'name', 'lat', 'lng'] -}); - -/** - * Custom class for the Search - */ -App.SearchFormPopupPanel = Ext.extend(Ext.Panel, { - map: null, - floating: true, - modal: true, - centered: true, - hideOnMaskTap: true, - width: Ext.is.Phone ? undefined : 400, - height: Ext.is.Phone ? undefined : 400, - scroll: false, - layout: 'fit', - fullscreen: Ext.is.Phone ? true : undefined, - url: 'http://ws.geonames.org/searchJSON?', - errorText: 'Sorry, we had problems communicating with geonames.org. Please try again.', - errorTitle: 'Communication error', - maxResults: 6, - featureClass: "P", - - createStore: function(){ - this.store = new Ext.data.Store({ - model: 'Geonames', - proxy: { - type: 'scripttag', - timeout: 5000, - listeners: { - exception: function(){ - this.hide(); - Ext.Msg.alert(this.errorTitle, this.errorText, Ext.emptyFn); - }, - scope: this - }, - url: this.url, - reader: { - type: 'json', - root: 'geonames' - } - } - }); - }, - - doSearch: function(searchfield, evt){ - var q = searchfield.getValue(); - this.store.load({ - params: { - featureClass: this.featureClass, - maxRows: this.maxResults, - name_startsWith: encodeURIComponent(q) - } - }); - }, - - onItemTap: function(dataView, index, item, event){ - var record = this.store.getAt(index); - var lon = record.get('lng'); - var lat = record.get('lat'); - var lonlat = new OpenLayers.LonLat(lon, lat); - map.setCenter(lonlat.transform(gg, sm), 12); - this.hide("pop"); - }, - - initComponent: function(){ - this.createStore(); - this.resultList = new Ext.List({ - scroll: 'vertical', - cls: 'searchList', - loadingText: "Searching ...", - store: this.store, - itemTpl: '<div>{name} ({countryName})</div>', - listeners: { - itemtap: this.onItemTap, - scope: this - } - }); - this.formContainer = new Ext.form.FormPanel({ - scroll: false, - items: [{ - xtype: 'button', - cls: 'close-btn', - ui: 'decline-small', - text: 'Close', - handler: function(){ - this.hide(); - }, - scope: this - }, { - xtype: 'fieldset', - scroll: false, - title: 'Search for a place', - items: [{ - xtype: 'searchfield', - label: 'Search', - placeHolder: 'placename', - listeners: { - action: this.doSearch, - scope: this - } - }, - this.resultList - ] - }] - }); - this.items = [{ - xtype: 'panel', - layout: 'fit', - items: [this.formContainer] - }]; - App.SearchFormPopupPanel.superclass.initComponent.call(this); - } -}); - -App.LayerList = Ext.extend(Ext.List, { - - map: null, - - createStore: function(){ - Ext.regModel('Layer', { - fields: ['id', 'name', 'visibility', 'zindex'] - }); - var data = []; - Ext.each(this.map.layers, function(layer){ - if (layer.displayInLayerSwitcher === true) { - var visibility = layer.isBaseLayer ? (this.map.baseLayer == layer) : layer.getVisibility(); - data.push({ - id: layer.id, - name: layer.name, - visibility: visibility, - zindex: layer.getZIndex() - }); - } - }); - return new Ext.data.Store({ - model: 'Layer', - sorters: 'zindex', - data: data - }); - }, - - initComponent: function(){ - this.store = this.createStore(); - this.itemTpl = new Ext.XTemplate( - '<tpl if="visibility == true">', - '<img width="20" src="img/check-round-green.png">', - '</tpl>', - '<tpl if="visibility == false">', - '<img width="20" src="img/check-round-grey.png">', - '</tpl>', - '<span class="gx-layer-item">{name}</span>' - ); - this.listeners = { - itemtap: function(dataview, index, item, e){ - var record = dataview.getStore().getAt(index); - var layer = this.map.getLayersBy("id", record.get("id"))[0]; - if (layer.isBaseLayer) { - this.map.setBaseLayer(layer); - } - else { - layer.setVisibility(!layer.getVisibility()); - } - record.set("visibility", layer.getVisibility()); - } - }; - this.map.events.on({ - "changelayer": this.onChangeLayer, - scope: this - }); - App.LayerList.superclass.initComponent.call(this); - }, - - findLayerRecord: function(layer){ - var found; - this.store.each(function(record){ - if (record.get("id") === layer.id) { - found = record; - } - }, this); - return found; - }, - - onChangeLayer: function(evt){ - if (evt.property == "visibility") { - var record = this.findLayerRecord(evt.layer); - record.set("visibility", evt.layer.getVisibility()); - } - } - -}); -Ext.reg('app_layerlist', App.LayerList); |