问题描述
我要捕获用户的当前位置lat long,并将其与特定位置lat long(存储在db中的lat lat long)进行比较,并将两者进行比较,如果用户lat long超过200米,则显示消息您不在200米范围内,但是输出我得到了错误的值,它显示了122公里,这是不正确的。
Code:
function check_distance($lat1,$lat2,$long1,$long2) {
$url = "https://maps.googleapis.com/maps/api/distancematrix/json?key=my_api_key" . $lat1 . "," . $long1 . "&destinations=" . $lat2 . "," . $long2 . "&mode=driving&language=en";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_PROXYPORT,3128);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
$response = curl_exec($ch);
curl_close($ch);
$response_a = json_decode($response,true);
$dist_value = $response_a['rows'][0]['elements'][0]['distance']['value'];
if($distance_value>200 meters){
// show more than 200 meters from specific location
}
}
echo check_distance($lat1,$long2);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)