2017-11-06 22 views
0
CollectPixi(){ 

     this.map.locate({setView:true,maxzoom:30}).on("locationfound",e=>{ 
      this.db.list(`/pixidata`).snapshotChanges().map(actions=>{ 
      return actions.map(action => { 
        const $key = action.payload.key; 
        const data = { $key, ...action.payload.val() }; 
        return data; 
       }); 
      }).subscribe(items => { 

       let pixizaa = items.map(this.getObjectWithoutKnowingKey); 

       console.log(pixizaa); 
       }); 




       }); 
} 

CollectPixi機能がボタンにあります。リーフレットAngularFire2コード内ボタン1回クリック作品1回2回クリック作品2回3回クリック作品3回

ボタンを1回クリックするとconsole.log(pixizaa)出力が1回表示されます。 2回目のクリックで出力が2回表示されます 3回目にクリックすると3回出力されます。

HTML:私は3回ボタンをクリックした

<button ion-button class="button-collectpixi" (click)="CollectPixi()" block>Collect Pixi!</button> 

。なぜそのない3 enter image description here

答え

this.map.locate({setView:true,maxzoom:30}).on("locationfound",e=>{ 

} 

た内容に応じて、私はcollectpixi function.i内部e.latitude e.longitude値を使用する必要がrepetition.butの理由である私は、ユーザーの位置データを取る意味collectpixiデータの中でそれを使っていくつかの計算を行います。

this.map.on("locationfound",e=>{ 
    ... 
}); 

そしてlocateあなたがボタンを押すたびに実行します:

答えて

0

は一度onlocationfoundイベントハンドラを取り付け

function CollectPixi() { 
    this.map.locate({setView:true,maxzoom:30}); 
} 

ないコールmap.on('locationfound', ...)ボタンをクリックするたびに実行します。

+0

私はそれを行うにはfunction.how内のユーザーの場所データが必要です。私はe.lattitude e.longitude – rektandpepper

関連する問題