|
|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:
5 Y! z3 X6 p P8 n+ ]0 v7 ^/ ]6 I; {2 s+ A
1 [0 U. O1 e6 _& e3 r
- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
9 M/ g2 M0 `8 u" G7 e D5 v - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
; V6 l& i# N& f) J- s0 V - ‘. This request has been blocked; the content must be served over HTTPS.
8 ^3 C2 R& a/ j$ V - VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 % g5 J/ \2 I+ b
y, m# h0 D1 G1 A5 o A这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。
+ q% |. \5 L1 e7 h, A% i: i. j$ W
配置方法:
4 i$ u$ C6 i9 v$ _2 Z) J8 Z9 D. j) }0 s" E4 l: j. D& Y
1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):
5 O0 F% h& u( R0 Y* v; t" @https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;
+ y2 n1 E4 ]. W: C# h1 t+ _, ^2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:
7 P: N: U% [9 h8 Ihttps://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=14 M9 x- V' d, L& E
3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;
8 e3 i8 m5 ^. C: E8 K1 @" }
* o Q- f8 O8 l& Z" }4 X }+ k1 r0 ~$ \2 n1 K
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:5 P$ w/ Q+ v- P9 p/ W! X
@ e: g; ^" f
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。, q5 x! W. n( V9 q6 G
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#% i; l4 ^6 \- g4 {9 {
% S3 C6 w- \2 Q+ n/ Y4 }8 p
登陆之后,第一个选项就是创建AK的。9 u4 {; g8 R2 H5 i
点击创建应用
2 w7 L" q3 C" c% h$ b( Z8 U( ~: B& E# H1 [& C8 u) G
' [! a4 ?5 r2 S7 s5 |应用名称 自己填一个) ^2 }7 t: m, ]. A6 I
应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)3 D4 F5 ]8 v5 p4 D, M$ Q! m: x' e4 c ~
启用服务 默认全选就可以
; `4 k/ R( F3 o+ hReferer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。
2 a* Q1 X; n- w然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。
3 r/ }5 ?% G M; I& q: ?& A" F6 N1 v" L
刷新页面,地图又回来了。. M4 Z1 f, k$ g+ s
8 X! p* m: P8 a4 Z3 \! v
( x# i- i% X z1 ~+ E |
|