|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:$ E! v. J& D3 `+ Z, I0 r
( q9 N: S& U4 x7 L; {' l: _
3 b; C; J0 K l/ I5 G* k. @4 f
- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
3 s: j! f! g) e- K6 i8 d - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
7 r9 @" D& y& a c. Q" e - ‘. This request has been blocked; the content must be served over HTTPS.
6 z( m" u$ x: s' J8 A - VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码
: r8 @* b9 V7 s: b- Q, E. B6 i' }% h& S) ~/ B
这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。
/ c7 P7 ?) `8 O( F
, r6 ]! K6 F( Y# r2 H2 `" `1 k p配置方法:
+ F5 P$ y0 m4 I5 f, }# A' T' h/ _' Z+ [) j% I
1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):6 l: U8 A. K1 B# O6 g( p1 F$ _
https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;( E5 g0 V$ V' a A7 v% h
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:
5 l3 |0 R, p$ l& Qhttps://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
3 T( Q" H' ?! s: {* X2 ?" {3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露; c& v6 e. b# }$ U% I- [
; K! |' D6 ^; n( Q8 T' S8 p7 a0 l/ P( r1 ]7 r) B* ~4 j
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:# F- m2 A# f5 ^) v& A/ R
; x0 `7 B) K9 y0 s0 M/ _百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。
6 Y% X$ X1 E n错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#- Y" H( C' ]0 K8 Q
0 S! m& {- n M( u
登陆之后,第一个选项就是创建AK的。
* R% _1 \ S4 M/ }0 g9 F" e点击创建应用/ A! Q: B$ i, z9 v
8 X: x( [! B: h' A* v
, h4 d& }$ a: U( {! N应用名称 自己填一个2 u' M) E( Z+ S
应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)- P/ }4 a% F6 Z4 ?9 O0 C
启用服务 默认全选就可以
$ e3 S, G3 P8 ] l1 kReferer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。( t; w4 V) e& D. a& G, {
然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。6 ^5 t% Y5 e4 X5 S* W, l
9 H: S0 X) y B5 ?( {2 G; I刷新页面,地图又回来了。
9 u! ~- M! {5 q/ }. X) h' W$ U
$ |$ u. q2 r) y R9 Y0 `, @' U* s) b: |3 }$ v# v) ]0 m( e( g
|
|