Changeset 2069


Ignore:
Timestamp:
04/03/10 18:31:34 (8 years ago)
Author:
cmoullet
Message:

Add OpenAddresses search in routingPanel

Location:
sandbox/cmoullet/ux/RoutingPanel
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sandbox/cmoullet/ux/RoutingPanel/examples/RoutingPanelExample.html

    r1912 r2069  
    1010    <script type="text/javascript"
    1111            src="http://svn.geoext.org/extensions/geoext.ux/ux/GeoNamesSearchCombo/lib/GeoExt.ux.geonames/GeoNamesSearchCombo.js"></script>
     12    <script type="text/javascript"
     13            src="http://svn.geoext.org/sandbox/cmoullet/ux/OpenAddressesSearchCombo/lib/GeoExt.ux.openaddresses/OpenAddressesSearchCombo.js"></script>
    1214    <script type="text/javascript" src="../ux/widgets/RoutingPanel.js"></script>
    1315    <script type="text/javascript" src="RoutingPanelExample.js"></script>
  • sandbox/cmoullet/ux/RoutingPanel/examples/RoutingPanelExample.js

    r1739 r2069  
    44
    55var routingPanel;
     6
     7var routingPanelOa;
    68
    79var viewport;
     
    4244                        routingPanelItem.clearItinerary();
    4345                    }
     46                    var routingPanelItemOa = Ext.getCmp("routingPanelItemOa");
     47                    if (routingPanelItemOa) {
     48                        routingPanelItemOa.clearItinerary();
     49                    }
    4450                }
    4551            },
     
    7884                items: [
    7985                    {
     86                        id: "routingpaneloa",
     87                        title: "Routing Panel OpenAddresses",
     88                        listeners: {
     89                            'expand': function(panel) {
     90                                this.doLayout();
     91                            },
     92                            'collapse': function(panel) {
     93                                if (Ext.getCmp('routingPanelItemOa')) {
     94                                    Ext.getCmp('routingPanelItemOa').clearItinerary();
     95                                }
     96                            }
     97                        }
     98                    },
     99                    {
    80100                        id: "routingpanel",
    81                         title: "Routing Panel"
     101                        title: "Routing Panel GeoNames",
     102                        listeners: {
     103                            'expand': function(panel) {
     104                                this.doLayout();
     105                            },
     106                            'collapse': function(panel) {
     107                                if (Ext.getCmp('routingPanelItem')) {
     108                                    Ext.getCmp('routingPanelItem').clearItinerary();
     109                                }
     110                            }
     111                        }
    82112                    },
    83113                    {
     
    86116                    }
    87117                ]
    88 
    89118            },
    90119            {
     
    108137        enableDD: true
    109138    });
     139    var routingPanelItemOa = {
     140        xtype: 'gxux_routingpanel',
     141        id: 'routingPanelItemOa',
     142        map: map,
     143        // Key for dev.geoext.org: 187a9f341f70406a8064d07a30e5695c
     144        // Key for localhost: BC9A493B41014CAABB98F0471D759707
     145        cloudmadeKey: '187a9f341f70406a8064d07a30e5695c',
     146        geocodingType: 'openaddresses',
     147        listeners:{
     148            routingcomputed: function() {
     149                //alert('Computation done');
     150            },
     151            beforeroutingcomputed: function() {
     152                //alert('Before computation');
     153            }
     154        }
     155    };
    110156    var routingPanelItem = {
    111157        xtype: 'gxux_routingpanel',
     
    127173    treePanel = Ext.getCmp("treepanel");
    128174    treePanel.add(treePanelItem);
     175    routingPanelOa = Ext.getCmp("routingpaneloa");
     176    routingPanelOa.add(routingPanelItemOa);
    129177    routingPanel = Ext.getCmp("routingpanel");
    130178    routingPanel.add(routingPanelItem);
     179    routingPanelOa.doLayout();
    131180    routingPanel.doLayout();
    132181});
  • sandbox/cmoullet/ux/RoutingPanel/ux/widgets/RoutingPanel.js

    r1920 r2069  
    169169
    170170    /** api: config[geocodingType]
    171      *  Geocoding type. Per default: 'cloudmade'. Can be 'geonames'.
     171     *  Geocoding type. Per default: 'cloudmade'. Can also be 'geonames' or 'openaddresses'.
    172172     */
    173173    /** private: property[geocodingType]
    174      *  Geocoding type. Per default: 'cloudmade'. Can be 'geonames'.
     174     *  Geocoding type. Per default: 'cloudmade'. Can also be 'geonames' or 'openaddresses'.
    175175     */
    176176    geocodingType: 'cloudmade',
     
    373373                }
    374374                this.endLocationCombo.locationString = record.data.lat + ',' + record.data.lng;
     375            }, this);
     376        }
     377
     378        // Create openaddresses search combo
     379        if (this.geocodingType == 'openaddresses') {
     380            this.startLocationCombo = new GeoExt.ux.openaddresses.OpenAddressesSearchCombo({
     381                fieldLabel: OpenLayers.i18n('A'),
     382                map: this.map,
     383                zoom: 18
     384            });
     385            this.startLocationCombo.on(
     386                    "select", function(combo, record, index) {
     387                if (this.routingStartFeature) {
     388                    this.routingLayer.removeFeatures([this.routingStartFeature]);
     389                }
     390                this.startLocationCombo.locationString = record.data.geometry.coordinates[1] + ',' + record.data.geometry.coordinates[0];
     391            }, this
     392                    );
     393
     394
     395            this.endLocationCombo = new GeoExt.ux.openaddresses.OpenAddressesSearchCombo({
     396                fieldLabel: OpenLayers.i18n('B'),
     397                map: this.map,
     398                zoom: 18
     399            });
     400            this.endLocationCombo.on("select", function(combo, record, index) {
     401                if (this.routingEndFeature) {
     402                    this.routingLayer.removeFeatures([this.routingEndFeature]);
     403                }
     404                this.endLocationCombo.locationString = record.data.geometry.coordinates[1] + ',' + record.data.geometry.coordinates[0];
    375405            }, this);
    376406        }
Note: See TracChangeset for help on using the changeset viewer.