Ver Fonte

运费计算

shish há 6 anos atrás
pai
commit
c00bfba568
2 ficheiros alterados com 34 adições e 13 exclusões
  1. 7 0
      app/saas/controllers/TestController.php
  2. 27 13
      common/components/mapUtil.php

+ 7 - 0
app/saas/controllers/TestController.php

@@ -8,6 +8,7 @@ use biz\message\services\InformAdminService;
 use biz\order\services\OrderService;
 use biz\user\services\UserService;
 use biz\wx\services\WxOpenService;
+use common\components\mapUtil;
 use Yii;
 use common\components\wxUtil;
 use common\components\miniUtil;
@@ -97,4 +98,10 @@ class TestController extends PublicController
 		miniUtil::getPaidUnionId($merchant, 'o-hXO4qOzIVbUNVucoFzEiArOz5k', $mcId, $orderId, 0);
 	}
 
+	public function actionCalc()
+	{
+		$dis = mapUtil::calculateDistance('116.308479','39.983171','116.328479','39.973171');
+		echo $dis;
+	}
+	
 }

+ 27 - 13
common/components/mapUtil.php

@@ -12,18 +12,32 @@ use yii\helpers\Json;
 
 class mapUtil
 {
-
-    public static $txMapKey = 'OFWBZ-2NTHP-EHNDD-LKWQY-GANM7-PXBJH';
-
-    //腾讯地图关键词输入提醒 shish 2020.1.21
-    //https://lbs.qq.com/webservice_v1/guide-suggestion.html
-    public static function suggestion($region, $keyword)
-    {
-        $url = "http://apis.map.qq.com/ws/place/v1/suggestion/?region={$region}&keyword={$keyword}&key=" . self::$txMapKey;
-        $curl = new curl\Curl();
-        $result = $curl->get($url);
-        $result = Json::decode($result);
-        return $result;
-    }
+	
+	public static $txMapKey = 'OFWBZ-2NTHP-EHNDD-LKWQY-GANM7-PXBJH';
+	
+	//腾讯地图关键词输入提醒 shish 2020.1.21
+	//https://lbs.qq.com/webservice_v1/guide-suggestion.html
+	public static function suggestion($region, $keyword)
+	{
+		$url = "http://apis.map.qq.com/ws/place/v1/suggestion/?region={$region}&keyword={$keyword}&key=" . self::$txMapKey;
+		$curl = new curl\Curl();
+		$result = $curl->get($url);
+		$result = Json::decode($result);
+		return $result;
+	}
+	
+	//计算距离 lng经度 lat纬度 shish 2020.5.14
+	public static function calculateDistance($fromLnt, $fromLat, $toLnt, $toLat)
+	{
+		$url = "https://apis.map.qq.com/ws/distance/v1/?mode=driving&from={$fromLat},{$fromLnt}&to={$toLat},{$toLnt}&key=" . self::$txMapKey;
+		$curl = new curl\Curl();
+		$result = $curl->get($url);
+		$result = Json::decode($result);
+		$distance = 0;
+		if (isset($result['status']) && $result['status'] == 0) {
+			$distance = isset($result['result']['elements'][0]['distance']) ? $result['result']['elements'][0]['distance'] : 0;
+		}
+		return $distance;
+	}
 
 }