【发布时间】:2016-02-04 14:01:36
【问题描述】:
我有一个 Javascript 函数,它可以提取用户的纬度/经度并将其存储在一个数组中以供以后使用。我要做的是获取用户的纬度/经度并与存储在数据库中的其他几个纬度/经度进行距离比较。我正在尝试做的事情,我可能认为这一切都错了,是在该 Javascript 中使用 AJAX 调用 PHP 文件中的特定函数(该函数仅从每个相关商店中提取纬度/经度数据库)。通常,这应该很容易,但是 PHP 文件中有多个函数,所以我想知道这是否可以通过这种方式完成。
提前感谢您提供的任何帮助。我对这一切还很陌生,因此感谢您的耐心等待。
这是我到目前为止的代码(我是 AJAX 的新手,所以我还没有编写任何 AJAX 代码):
function userPosition() {
navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
currentPos.push(lat, lng);
}, function(error) {
alert('Error occurred. Error code: ' + error.code);
// error.code can be:
// 0: unknown error
// 1: permission denied
// 2: position unavailable (error response from location provider)
// 3: timed out
});
};
这是 PHP 文件中的代码:
public function get_closest_location() {
$addresses = array();
$i = 0;
//Get primary address
$addresses[$i]['lat'] = $this->dealer_info['lat_1'];
$addresses[$i]['lng'] = $this->dealer_info['lng_1'];
//Get Dealer Addresses
global $wpdb;
$results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->gdp_dealers_addresses WHERE dealerId = %d", $this->dealer_info['dealer_id'] ), ARRAY_A );
foreach($results as $res){
$i++;
$addresses[$i]['lat'] = $res['lat'];
$addresses[$i]['lng'] = $res['lng'];
}
return $addresses;
}
【问题讨论】:
-
是的,你可以做到。但是如何做到这一点是一个太宽泛的问题。你需要说出你的问题是什么,也许可以提供一些代码。
-
你有可以提供的例子吗?我完全迷失了,没有在网上找到任何东西。
-
不知道你的问题是什么,很难给你准确的指示。
-
你不能将 POST 或 GET 参数传递给 phpscript 吗?这将清理一切,您可以轻松检测 $_POST 参数并返回函数调用的结果
-
我编辑了上面的评论以包含我拥有的代码。同样,我是 AJAX 的新手,所以我不知道如何进行。对不起。
标签: javascript php jquery ajax google-maps