You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
4.5 KiB
180 lines
4.5 KiB
1 year ago
|
##### 腾讯位置服务
|
||
|
|
||
|
###### 地址解析(地址转坐标)
|
||
|
```
|
||
|
// 命名空间
|
||
|
use Joypack\Tencent\Map\WebService\AddressOption;
|
||
|
use Joypack\Tencent\Map\WebService\Address;
|
||
|
|
||
|
// 实例化参数
|
||
|
$option = new AddressOption();
|
||
|
// 设置接口 key
|
||
|
$option->setKey('<your app key>');
|
||
|
// 如果使用签名方式校验则需要配置 secret
|
||
|
$option->setSecret('<your app secret>');
|
||
|
// 设置要解析坐标的地址
|
||
|
$option->setAddress('安徽省合肥市瑶海区方庙街道万达金街');
|
||
|
|
||
|
// 将参数在这里传递
|
||
|
// 非开发模式只记录 error 类型的日志
|
||
|
$address = new Address($option, <日志存储路径>, <是否开发模式>);
|
||
|
|
||
|
// 授权IP校验方式通信(无sig参数)
|
||
|
// $res = $address->request();
|
||
|
|
||
|
// 通过签名校验的方式通信
|
||
|
// 无需使用 $option->setSig()
|
||
|
$res = $address->request(true);
|
||
|
|
||
|
// $res->logger->print($res, true);
|
||
|
|
||
|
// 判断请求是否异常
|
||
|
if($res->error) {
|
||
|
$res->logger->print($res->error, true);
|
||
|
}
|
||
|
|
||
|
// 打印接口返回的原始数据
|
||
|
// $res->logger->print($res->getOriginal(), true);
|
||
|
|
||
|
// 判断接口返回状态
|
||
|
if($res->status) {
|
||
|
// 打印接口返回信息
|
||
|
$res->logger->print($res->message, true);
|
||
|
}
|
||
|
|
||
|
// 打印接口返回数据(内部已完成Array解析)
|
||
|
$res->logger->print($res->result, true);
|
||
|
```
|
||
|
|
||
|
###### 逆地址解析(坐标位置描述)
|
||
|
```
|
||
|
// 命名空间
|
||
|
use Joypack\Tencent\Map\WebService\LocationOption;
|
||
|
use Joypack\Tencent\Map\WebService\Location;
|
||
|
|
||
|
// 实例化参数
|
||
|
$option = new LocationOption();
|
||
|
// 设置接口 key
|
||
|
$option->setKey('<your app key>');
|
||
|
// 如果使用签名方式校验则需要配置 secret
|
||
|
$option->setSecret('<your app secret>');
|
||
|
// 设置要解析地址的经纬度坐标
|
||
|
$option->setLocation(31.877089, 117.347885);
|
||
|
|
||
|
// 将参数在这里传递
|
||
|
// 非开发模式只记录 error 类型的日志
|
||
|
$location = new Location($option, LOG_PATH, true);
|
||
|
|
||
|
// 授权IP校验方式通信(无sig参数)
|
||
|
// $res = $address->request();
|
||
|
|
||
|
// 通过签名校验的方式通信
|
||
|
// 无需使用 $option->setSig()
|
||
|
$res = $location->request(true);
|
||
|
|
||
|
// $res->logger->print($res, true);
|
||
|
|
||
|
// 判断请求是否异常
|
||
|
if($res->error) {
|
||
|
$res->logger->print($res->error, true);
|
||
|
}
|
||
|
|
||
|
// 打印接口返回的原始数据
|
||
|
// $res->logger->print($res->getOriginal(), true);
|
||
|
|
||
|
// 判断接口返回状态
|
||
|
if($res->status) {
|
||
|
// 打印接口返回信息
|
||
|
$res->logger->print($res->message, true);
|
||
|
}
|
||
|
|
||
|
// 打印接口返回数据(内部已完成Array解析)
|
||
|
$res->logger->print($res->result, true);
|
||
|
// 打印经纬度
|
||
|
$res->logger->print($res->result['location']['lng']);
|
||
|
```
|
||
|
|
||
|
###### 坐标转换
|
||
|
```
|
||
|
// 命名空间
|
||
|
use Joypack\Tencent\Map\WebService\TranslateOption;
|
||
|
use Joypack\Tencent\Map\WebService\Translate;
|
||
|
|
||
|
// 实例化参数
|
||
|
$option = new TranslateOption();
|
||
|
$option->setKey('<your app key>');
|
||
|
$option->setSecret('<your app secret>');
|
||
|
// 设置要转换的经纬度类型
|
||
|
$option->setType($option::TYPE_BAIDU);
|
||
|
// 设置经要转换的经纬度
|
||
|
$option->setLocation(31.877089, 117.347885);
|
||
|
|
||
|
//
|
||
|
$location = new Translate($option, LOG_PATH, true);
|
||
|
|
||
|
// 授权IP校验方式通信(无sig参数)
|
||
|
// $res = $address->request();
|
||
|
|
||
|
// 通过签名校验的方式通信
|
||
|
// 无需使用 $option->setSig()
|
||
|
$res = $location->request(true);
|
||
|
|
||
|
// $res->logger->print($res, true);
|
||
|
|
||
|
// 判断请求是否异常
|
||
|
if($res->error) {
|
||
|
$res->logger->print($res->error, true);
|
||
|
}
|
||
|
|
||
|
// 打印接口返回的原始数据
|
||
|
// $res->logger->print($res->getOriginal(), true);
|
||
|
|
||
|
// 判断接口返回状态
|
||
|
if($res->status) {
|
||
|
// 打印接口返回信息
|
||
|
$res->logger->print($res->message, true);
|
||
|
}
|
||
|
|
||
|
// 打印接口返回数据(内部已完成Array解析)
|
||
|
$res->logger->print($res->locations, true);
|
||
|
```
|
||
|
|
||
|
###### IP定位
|
||
|
```
|
||
|
// 命名空间
|
||
|
use Joypack\Tencent\Map\WebService\IpOption;
|
||
|
use Joypack\Tencent\Map\WebService\Ip;
|
||
|
|
||
|
$option = new IpOption();
|
||
|
$option->setKey('<your app key>');
|
||
|
$option->setSecret('<your app secret>');
|
||
|
$option->setIp('202.106.0.20');
|
||
|
|
||
|
$location = new Ip($option, LOG_PATH, true);
|
||
|
|
||
|
// 授权IP校验方式通信(无sig参数)
|
||
|
// $res = $address->request();
|
||
|
|
||
|
// 通过签名校验的方式通信
|
||
|
// 无需使用 $option->setSig()
|
||
|
$res = $location->request(true);
|
||
|
|
||
|
// $res->logger->print($res, true);
|
||
|
|
||
|
// 判断请求是否异常
|
||
|
if($res->error) {
|
||
|
$res->logger->print($res->error, true);
|
||
|
}
|
||
|
|
||
|
// 打印接口返回的原始数据
|
||
|
// $res->logger->print($res->getOriginal(), true);
|
||
|
|
||
|
// 判断接口返回状态
|
||
|
if($res->status) {
|
||
|
// 打印接口返回信息
|
||
|
$res->logger->print($res->message, true);
|
||
|
}
|
||
|
|
||
|
// 打印接口返回数据(内部已完成Array解析)
|
||
|
$res->logger->print($res->result, true);
|
||
|
```
|