2017-08-10 12 views
1

私はangular2にgeolocationを取得しようとしていますが、これまで不可能でした。 私が試したコードを確認してください。angular2のtypecriptで地理的位置を取得するにはどうすればよいですか?

location = {}; 
    setPosition(position){ 
    this.location = position.coords; 
    console.log(position.coords); 
    } 

    ngOnInit(){ 
     if(window.navigator.geolocation){ 
      window.navigator.geolocation.getCurrentPosition(this.setPosition.bind(this)); 
     }; 
} 
+0

のために働いています:ここで

navigator.geolocation.getCurrentPosition() 

は、使用してtypescriptです、最小限の例です。 navigator.geolocationを試してみてください。動作しません。 –

答えて

1

それは次のとおりです。

navigator.geolocation.getCurrentPosition(position => { 
    console.log(position); 
    // in your case 
    this.location = position.coords; 
}); 
0

はこれを試してみてください私は、ウィンドウを削除した場合、それは私

if(navigator.geolocation){ 
    navigator.geolocation.getCurrentPosition(position => { 
     this.lat=position.coords.latitude; 
     this.long=position.coords.longitude; 
     var latlng = { lat: this.lat, lng:this.long }; 

     let geocoder = new google.maps.Geocoder(); 
    geocoder.geocode( {'location':latlng}, (results, status) => { 
    if (status == google.maps.GeocoderStatus.OK) { 
    let result = results[0]; 
    let rsltAdrComponent = result.address_components; 
    let resultLength = rsltAdrComponent.length; 
    if (result != null) { 
    console.log(rsltAdrComponent[resultLength-5].short_name) 
    } else { 
    window.alert('Geocoder failed due to: ' + status); 
    } 
    } 
    }); 
    });  
    }; 
関連する問題