2017-05-02 8 views
0

私のイオン2アプリケーションでは、私は現在の位置を地図上で見ることができますが、Firebaseにどのように位置(長さと緯度)を追加できますか?現在の場所をFirebaseに追加するにはどうしたらいいですか?

initMap(): Promise<any> { 

    this.mapInitialised = true; 

    return new Promise((resolve) => { 

     Geolocation.getCurrentPosition().then((position) => { 


     let latLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 

     //let latLng = new google.maps.LatLng(40.713744, -74.009056); 

     let mapOptions = { 
      center: latLng, 
      zoom: 15, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 

     this.map = new google.maps.Map(this.mapElement, mapOptions); 
     resolve(true); 
     google.maps.event.addListener(this.map, 'click', (event) => { 
      this.clearMarkers(); 
      let geocoder = new google.maps.Geocoder; 
      let infowindow = new google.maps.InfoWindow; 
      let distanceToYou = this.getDistanceBetweenPoints(
      event.latLng, 
      position, 
      'miles' 
     ).toFixed(2); 
      this.geocodeLatLng(event.latLng,geocoder,infowindow,distanceToYou); 
     }); 
     }); 

    }); 

    } 

私の現在の位置を取得することができます。私が地図をダブルクリックすると、私とマーカーの距離がわかります。

答えて

1

はい、可能です。しかし、地図をダブルクリックするとズームするので、pressを使用します。しかし、「保存場所」テキストなどの情報ウィンドウにボタンを設定して保存機能を呼び出す方が良いでしょう。

YOUR HTMLあなたがそうあなたが他のデータをサブスクライブしていない代わりにset()update()を使用し、あなたの場所を保存することができ、このよう

<div #mapID (press)="saveLocation()"> 

YOUR .TS

import * as firebase from 'firebase'; 

public lat; 
public long; 

initMap(): Promise<any> { 
    this.mapInitialised = true; 
    return new Promise((resolve) => { 
    Geolocation.getCurrentPosition().then((position) => { 
     this.lat = position.coords.latitude; 
     this.long = position.coords.longitude; 
     // YOUR CODE CONTINUES HERE... 
    }); 
    }); 
}); 

saveLocation(){ 
    firebase.database().ref('PATH/YOU/WANT/TO/SAVE').update({ 
    lat: this.lat, 
    long: this.long 
    }).then(res =>{ 
    // THE LOCATION IS SAVED, DO YOUR STUFF 
    }) 
} 

あなたはデータだけでfirebase.database().ref('PATH/YOU'VE/SAVED').once('value', snapshot =>{ // CODE });

を使用することを検索したい場合は

は、それが

を役に立てば幸い
関連する問題