后盾录入经纬度
http://lbs.amap.com/api/javas...
<img src='https://gitee.com/smallsha/upic/raw/master/uPic/clipboard的正本.png' alt='clipboard的正本'/>
①首先采纳微信或者是腾讯地图拉取到用户以后的经纬度
http://lbsyun.baidu.com/index... 基于浏览器定位
②调用 squarePoint来获取
define('EARTH_RADIUS', 6378.137);//地球半径public function squarePoint($lng, $lat, $distance = 0.5){ $dlng = 2 * asin(sin($distance / (2 * EARTH_RADIUS)) / cos(deg2rad($lat))); $dlng = rad2deg($dlng); $dlat = $distance / EARTH_RADIUS; //EARTH_RADIUS地球半径 $dlat = rad2deg($dlat); return array( 'left-top' => array('lat' => $lat + $dlat, 'lng' => $lng - $dlng), 'right-top' => array('lat' => $lat + $dlat, 'lng' => $lng + $dlng), 'left-bottom' => array('lat' => $lat - $dlat, 'lng' => $lng - $dlng), 'right-bottom' => array('lat' => $lat - $dlat, 'lng' => $lng + $dlng) );}
③条件判断 进行sql查问
$condition .="AND lat<>0 AND lat >= '{$point['right-bottom']['lat']}' AND lat <= '{$point['left-top']['lat']}' AND lng >= '{$point['left-top']['lng']}' AND lng <= '{$point['right-bottom']['lng']}'";
④@param $lat $lng 是以后定位的经纬度
@param $row['lat'],$row['lng'] 是左近店铺的间隔 算出的是km单位
$this->GetDistance($lat, $lng, $row['lat'], $row['lng']);define ('M_PI', 3.1415926535898);function getDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2){ $radLat1 = $lat1 * M_PI / 180; $radLat2 = $lat2 * M_PI / 180; $a = $lat1 * M_PI / 180 - $lat2 * M_PI / 180; $b = $lng1 * M_PI / 180 - $lng2 * M_PI / 180; $s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))); $s = $s * EARTH_RADIUS; $s = round($s * 1000); if ($len_type > 1) { $s /= 1000; } return round($s, $decimal);}
⑤
floor($temp['distance'])/1000; 转换成公里单位sprintf('%.1f', (float)$juli)、
通过jssdk 获取经纬度 调用百度转换具体地位
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=spsbwrDkEer15ikuKLG75UfKsHRM8Gse"></script>function getaddress(latitude,longitude){ var geoc = new BMap.Geocoder(); var point = new BMap.Point(longitude,latitude); geoc.getLocation(point, function (rs) { var addComp = rs.addressComponents; console.log(rs.addressComponents) $("input[name='address_now']").val(addComp.city) placeSearch(addComp.city) window.test=addComp.province + "" + addComp.city + "" + addComp.district + "" + addComp.street + "" + addComp.streetNumber; }); return window.test;}