百度地图 sn 计算方法 阿星小栈

<?php

//API控制台申请得到的ak(此处ak值仅供验证参考使用)
$ak = ‘yourak‘;

//应用类型为for server, 请求校验方式为sn校验方式时,系统会自动生成sk,可以在应用配置-设置中选择Security Key显示进行查看(此处sk值仅供验证参考使用)
$sk = ‘yoursk‘;

//以Geocoding服务为例,地理编码的请求url,参数待填
$url = "http://api.map.baidu.com/geocoder/v2/?address=%s&output=%s&ak=%s&sn=%s";

//get请求uri前缀
$uri = ‘/geocoder/v2/‘;

//地理编码的请求中address参数
$address = ‘百度大厦‘;

//地理编码的请求output参数
$output = ‘json‘;

//构造请求串数组
$querystring_arrays = array (
    ‘address‘ => $address,
    ‘output‘ => $output,
    ‘ak‘ => $ak
);

//调用sn计算函数,默认get请求
$sn = caculateAKSN($ak, $sk, $uri, $querystring_arrays);

//请求参数中有中文、特殊字符等需要进行urlencode,确保请求串与sn对应
$target = sprintf($url, urlencode($address), $output, $ak, $sn);

//输出计算得到的sn
echo "sn: $sn \n";

//输出完整请求的url(仅供参考验证,故不能正常访问服务)
echo "url: $target \n";
?>
</syntaxhighlight>
<div class="separate-title">其中,caculateAKSN的定义如下:</div>

<syntaxhighlight lang="null">
function caculateAKSN($ak, $sk, $url, $querystring_arrays, $method = ‘GET‘)
{
    if ($method === ‘POST‘){
        ksort($querystring_arrays);
    }
    $querystring = http_build_query($querystring_arrays);
    return md5(urlencode($url.‘?‘.$querystring.$sk));
}

详情关注官网http://lbsyun.baidu.com/index.php?title=lbscloud/api/appendix#service-page-anchor2

原文地址:https://www.cnblogs.com/dereckbu/p/8342816.html

时间: 2024-08-01 08:04:56

百度地图 sn 计算方法 阿星小栈的相关文章

百度地图标注图标太小

1.1.1  现象 百度地图中,定位点的标注示意图标太小: 实际期望的图标是这样的: 1.1.2  原因 检查了很久,以为是打开地图时的设置问题,后来慢慢查找地图上的元素定位,终于发现原来这个图标大小是被CSS控制的,在地图元素的内部可以找到如下代码: 这个img元素就是用来显示定位图标的,可以修改这个元素的CSS属性来改变大小. 1.1.3  解决 如果要使用默认大小,则需要配置如下CSS: img {     max-width: inherit; } 原来图标变小,是因为其它CSS配置导致

PHP Excel导入 阿星小栈

public function doOrderIn(){ $filename = public_path("/question.xlsx"); if ($filename) { $tmp_file = $filename; $file_types = explode ( ".", $filename); $file_type = $file_types [count ( $file_types ) - 1]; $objReader = \PHPExcel_IOFac

php获取中文字符拼音首字母 阿星小栈

//php获取中文字符拼音首字母 public function getFirstWord($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0}); $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s1); $s=$s

iview 表单验证及验证重置 阿星小栈

this.$refs[name].validate((valid) => { if (valid) { this.$Message.success('Success!'); } else { this.$Message.error('Fail!'); } }) //重置 this.$refs[name].resetFields(); 原文地址:https://www.cnblogs.com/dereckbu/p/8777997.html

微信支付:curl出错,错误码:60 阿星小栈

最近一个微信项目用到微信支付系统,在微信官方下载了一个官方的demo.运行后竟然报错. Fatal error: Uncaught exception 'WxPayException' with message 'curl出错,错误码:60' in D:\wwwroot\weixinpaytest\lib\WxPay.Api.php:564 Stack trace: #0 D:\wwwroot\weixinpaytest\lib\WxPay.Api.php(62): WxPayApi::post

iview 在Table组件render 中使用Poptip组件 阿星小栈

render: (h, params) => { return h('div', [ h('Button', { props: {type: 'error', size: 'small'}, },[ h('Poptip', { props: { confirm: true, transfer: true, placement: 'left-end', title: '确定要删除吗!', type: 'error', size: 'small', width: '300', }, on: { 'o

PHP获取文件后缀名(提供7种方法) 阿星小栈

1.$file = 'x.y.z.png';echo substr(strrchr($file, '.'), 1);解析:strrchr($file, '.')    strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符2.$file = 'x.y.z.png';echo substr($file, strrpos($file, '.')+1);解析:strrpos($file, '.')   查找 "." 在字符串中最后一次出现的

Redis中Set集合命令 阿星小栈

集合(Set)? 附录,常用集合运算: A = {'a', 'b', 'c'} B = {'a', 'e', 'i', 'o', 'u'} inter(x, y): 交集,在集合x和集合y中都存在的元素. inter(A, B) = {'a'} union(x, y): 并集,在集合x中或集合y中的元素,如果一个元素在x和y中都出现,那只记录一次即可. union(A,B) = {'a', 'b', 'c', 'e', 'i', 'o', 'u'} diff(x, y): 差集,在集合x中而不在

在Vue项目中动态生成二维码 阿星小栈

一.使用jquery.qrcode生成二维码 1.首先在页面中加入jquery库文件和qrcode插件 <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.qrcode.min.js"></script> 2.在页面中需要显示二维码的