Ok現在のユーザーのLatとlngを他のユーザーlatとlngと比較する方法については、紛失しています。私は以下を試した。現在のユーザーの緯度と経度の近くにいる緯度と経度のすべてのユーザーキーを欲しいです。私は以下を試した。あなたは、特にこの部分で見たよう現在のユーザーのLatitudeとLongtitudeを他のユーザーと比較する方法LatitudeとLongtitude
openMapPage()
{
// GETTING THE CURRENT USER ADDRESS FOR LATITUDE AND LONGTITUDE
var uid = firebase.auth().currentUser.uid;
var ref = firebase.database().ref("request/" + uid);
ref.once("value").then((snapshot) => { // <------ Here!
var a = snapshot.exists(); // true
var c = snapshot.hasChild("reqdetails"); // true
var d = snapshot.child('reqdetails').exists();
var requestsKey = snapshot.key;
var requestsValue = snapshot.val();
ref.once('value', (request) => {
var currentUserAddress = request.val().regdetails.address;
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': currentUserAddress}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
var latlng = new LatLng(latitude, longitude);
//var userAddress = new LatLng(currentUserAddress);
console.log("SURESH IS COOL");
console.log(latlng);
}
});
});
// GETTING THE ALL USER ADDRESS FOR LATITUDE AND LONGTITUDE
var ref1 = firebase.database().ref("request");
ref1.once("value").then((snapshot1) => { // <------ Here!
var a = snapshot1.exists(); // true
var c = snapshot1.hasChild("reqdetails"); // true
var d = snapshot1.child('reqdetails').exists();
var requestsKey = snapshot1.key;
var requestsValue = snapshot1.val();
snapshot1.forEach((childSnapshot) => { // <------ And here!
var requestKey = childSnapshot.key;
var requestValue = childSnapshot.val();
var reqdetails = requestValue.reqdetails;
var AllUserAddress = requestValue.regdetails.address;
//console.log("ALL USER ADDRESS");
//console.log(AllUserAddress);
var geocoder1 = new google.maps.Geocoder();
geocoder1.geocode({ 'address': AllUserAddress}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
var latlng1 = new LatLng(latitude, longitude);
//var userAddress = new LatLng(currentUserAddress);
//console.log("SURESH IS COOL");
//console.log(latlng1);
var distanceInMeters = google.maps.geometry.spherical.computeDistanceBetween (this.latlng, this.latlng1);
if(distanceInMeters)
{
console.log("NEARBY ADDRESS that is near current user address");
console.log(latlng1);
}
}
});
});
});
//END OF CURRENT USER
});
}
iは、他のユーザの緯度とLNGと、現在のユーザーは、緯度とLNGを比較してみました:
は、ここに私のコードです。 ifステートメントを使用しますが、コンソールに何も表示されません。
var distanceInMeters = google.maps.geometry.spherical.computeDistanceBetween (this.latlng, this.latlng1);
if(distanceInMeters)
{
console.log("NEARBY ADDRESS that is near current user address");
console.log(latlng1);
}
geocoder.geocode ...メソッドの外側でlatlngを宣言し、computeDistanceBetween()の呼び出しで 'this'を指定せずにlatlngおよびlatlng1を使用します。 – dev8080