|
|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:
! w8 H* \4 t8 Y- j. W2 m5 E+ J* H9 r6 |" q, q6 k" q" C$ m4 m
2 Z" w" R, [! a9 K$ Y, W; @/ |2 b; r5 S- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html- w# B) V8 \/ |3 O6 [& W
- ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
2 B1 B* d0 Q ~6 e2 L' M4 ^9 | - ‘. This request has been blocked; the content must be served over HTTPS.
, a1 Q8 T# }) s) K2 T1 Z) }$ h - VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码
; J" Q4 Q6 a& W4 C1 X( i$ Y$ b- s4 d
这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。
* g& M+ n: e2 b& I* T) i+ P# T! I0 V1 k& p
配置方法:
" N) {5 l- \. K! [- ^$ K
$ R& C% X( G( y6 \3 E/ Z1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):' _# `% X( E/ n6 x, I. T* g, J1 k; m
https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1; l; B5 ?$ s, w
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:, l8 t* x( A& A* e- A7 x/ ~
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1 X- o0 ]3 H; ^1 r
3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;3 K; l; y' b* m* i& J8 O
; e7 O+ A! b8 D( J# t3 ?6 M! w
/ O8 K' C7 _( P' z) D$ r' C
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:" J# e, S2 k5 n. c) y9 E U
1 _* t6 J$ b5 j- E' s( p; Q- w7 B
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。& R- r, a0 p0 ^) A1 S# i& ~
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#
) |: A+ T8 Q4 l( t9 s) a
' X+ L1 o0 v# A+ U登陆之后,第一个选项就是创建AK的。
9 K/ a% D2 }1 e点击创建应用4 Y4 M% Z2 c$ D3 ]7 a% ?, ^- @$ o ?
1 y, L Q- V7 D
6 b* Q( }# y" D8 U应用名称 自己填一个
: l( R$ D& ~6 S- b应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)9 q- C/ m$ s% U
启用服务 默认全选就可以$ i, u& m6 b( c5 b$ [# h' Q% \4 S
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。
/ c D+ ] r; J; i$ V然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。
! w- w: P# b1 R& X9 `) @- H5 X: u2 P
刷新页面,地图又回来了。
7 l" a* U& |0 _9 z
; b- n% Q$ u9 _; y' s( |
. Q; N) l3 e8 Z, h |
|