SCRIPT
/*get geo location*/
var x = document.getElementById("demo");
var y = document.getElementById("demo2");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
/* x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude; */
x.innerHTML = position.coords.latitude;
y.innerHTML = position.coords.longitude;
var url = "https://maps.googleapis.com/maps/api/geocode/json?latlng="+position.coords.latitude+","+position.coords.longitude+"&sensor=false";
$.getJSON(url, function (json) {
$(".place").empty();
$(".place").css("display","block");
//console.log("JSON Data: " + json.results);
$.each(json.results, function (index, value) {
$.each(value.address_components, function (index, value) {
console.log(index + ': ' + value.long_name);
//alert(value.long_name);
localStorage.long_name = value.long_name;
console.log(localStorage.long_name);
$(".place").append(localStorage.long_name+", ");
//this line runs query to fetch users matching the places above
displayTutor(value.long_name);
});
});
});
}
//此行显示按地理位置
检索的地点列表
$(".place").append(localStorage.long_name+", ");
这是检索到的地方
看到几次返回的相同地方,如'雪兰莪','马来西亚'等等。我认为,这导致下面的查询从这几个地方返回同一个用户。
查询
$sql="SELECT * FROM usrinfo, posts WHERE usrinfo.UUID = posts.UUID AND posts.location LIKE '%$this->place%' GROUP BY usrinfo.UUID";
可能是这个,让这个函数在$ each循环中调用displayTutor(value.long_name);
导致一次又一次地获取相同的结果。
该函数对查询进行ajax调用
function displayTutor(param){
$('#contents').empty();
$("#titleBox_content > p").text("Tutors > "+param);
$('#contents').append("<table><tr>");
var globalStore = {};
globalStore.data = [];
var data;
var getUrl;
getUrl = '/search/getLocation.php?place='+param,
$.when(
// 1st query
$.get(getUrl,function(data){globalStore.data = globalStore.data.concat(data);console.log(data)},"json")
).then(function() {
console.log(globalStore.data);
................................
.................................
现在,我不需要重复相同的结果。请问怎么做?
修改
我发现我的查询在我尝试时没有返回任何错误 phpmyadmin控制台,它不会返回任何重复的条目。在 事实上在浏览器中,前2秒左右,它显示了 正确的结果没有重复,但在那之后相同的结果 加起来。这就像ajax调用超过四次 函数放在$ .each循环中,如上所述。
有人可以帮我这个吗?