0

Sencha Touch V2 でアプリを開発しました。このアプリには、マップがある Mappa パネルが含まれています。このマップには、json ファイルから取得されたさまざまな場所 (カフェ) に対応するマーカーが取り込まれています。

アプリ マップ パネルは次のように機能します。

マーカーをクリックすると、開始位置と終了位置のテキスト フィールドがポップアップ表示されます。ここで、ユーザーは開始位置と終了位置の値を入力します。別のマーカーをクリックすると、開始位置と終了位置からの方向がマップにプロットされます。

次の機能を実装する必要があります。

ボタン クリックでマップ上にプロットされた Google マップに入力された場所の方向を容易にする必要があります。ユーザーが異なる出発地と目的地のルートを検索するための新しいインスタンス。

私たちが抱えている問題は次のとおりです。

  1. ボタン クリックのハンドラーを定義すると、アクションが実行されませんでした (道順の取得ハンドラーが機能していませんでした)。
  2. マップのインスタンスを再作成するために、マップを null に設定しましたが、マーカーのないマップになりました。

Sencha touch バージョン 2 でこのアプリのタスクを達成するために、誰か助けてください。

4

1 に答える 1

0

この種のアプリケーション/機能はずっと前に作成されました。フローティングを作成し、そこにと終点formpanelのフィールド エントリを提供できます。sourcedestination

次に、「道順を取得」ボタンのタップで以下のコードを書くことができます。

コードスニペット :-

tap: function() {
   var src = Ext.getCmp('srcField');
       var destn = Ext.getCmp('destField');
       var mode = Ext.getCmp('travelMode');
       var request = {
        origin: src.getValue(), 
        destination: destn.getValue(),
        travelMode: mode.getPressedButtons()[0].getText(),
       };

     Ext.Ajax.request({
      url: 'http://maps.googleapis.com/maps/api/directions/json?origin='+src.getValue()+'&destination='+destn.getValue()+'&mode='+mode.getPressedButtons()[0].getText()+'&sensor=false';
          method:'post',

          success : function(response) {
              showDirections(response,request);
          }         
     });

     function showDirections(res,req) {
       var directionsService = new google.maps.DirectionsService();
       var directionsDisplay = new google.maps.DirectionsRenderer();
       var map = Ext.getCmp('googleMapComponentId').getMap();

       directionsService.route(request, function(response, status) {
       if (status == google.maps.DirectionsStatus.OK) {
             directionsDisplay.setDirections(response);
             directionsDisplay.setMap(map);
       }
     });
  }                             
于 2012-05-14T05:04:43.230 に答える