|
|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:% K( c0 o3 u0 c) j' L9 i* p
0 y9 S0 q% ~1 I1 C' }
$ p1 h% b$ o* k, f; \5 t4 w- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
6 Z/ \0 f, k9 U/ ?% F w- T* @ - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
7 R1 P7 s- B0 {! V - ‘. This request has been blocked; the content must be served over HTTPS.
( W6 g0 Y* ~- @% O- h - VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码
$ s' ]/ i/ K) J! k. F1 p2 d3 W) p8 p+ W$ ^! w/ ^+ |8 Y% y
这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。
/ n6 q& ~) J2 W: \0 B$ p
9 R( F$ {8 m# o- ?# A配置方法:
5 ?/ m; e$ J' D& P) f
0 P- O' D6 r" D* X" d1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):' o, [* i: v F, ^
https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;
# X/ Y2 S) e6 c7 ]3 a t2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding: u/ a. P1 {. I9 [+ S! y
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
( g2 E' t4 N( G1 {1 n! ]0 @# D3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;
; J4 V0 h* _4 o$ r# g& e& |3 e' T; N8 d' a- ~) r
& I: P( a/ u4 \4 _非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:5 v6 }3 Y) e3 A( ?
8 b1 {! ~6 D! O, f
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。8 n- X8 S! E) G# {+ n: x
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#
' _9 ~, n* x) s; R* B8 E: z9 H1 X, P+ Y( |9 [- N8 O; j
登陆之后,第一个选项就是创建AK的。) e( X- a# I' Z" I7 |. Y
点击创建应用
0 M2 ]8 S! O. X$ K( p8 }
0 T& Z$ h6 p8 t y$ R, `' l! i. B; l+ u% N- V
应用名称 自己填一个, t! l6 h/ f! m- s
应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)
- [4 \+ m$ t7 K; V- G' n- b& k0 @启用服务 默认全选就可以
. a. ?! u$ W" N* n& SReferer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。7 q% r6 o* l7 Y' b+ M+ j: ]
然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。( m! t; W# F: W p5 h8 P4 G! E9 u4 V$ c5 s
. W3 b2 U. C+ s2 p. N
刷新页面,地图又回来了。
; c( F0 \9 o8 ^- \' O6 V( M6 r. u5 @0 F& ?" j1 s
0 y& V; z$ p( [+ `5 B. B+ D. U2 s
|
|