|
|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:$ {) g) B/ e2 x8 j
2 c/ L! H$ T: r# R3 u
$ G2 U! s4 u; k9 N
- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html3 [8 E" y# `" V" K6 r- ]
- ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
/ c8 p( r& Q$ H - ‘. This request has been blocked; the content must be served over HTTPS.
7 q( t$ h# p Q4 ^' Y6 U - VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 , k6 N, D: c+ @9 t1 g. y1 E
5 @. P8 t; H' s5 [/ C这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。, O# x5 @& |# G& b% y; X& h1 w
5 ]6 P3 A* y4 Y+ d A7 }
配置方法:
: \8 _" D9 `& }& Z$ e) j6 i7 V9 W M: E! h
1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):7 e8 f# D* G- U. f/ I2 [& I
https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;$ d. h! f. W! ^" |. ?$ i$ Y
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:" O9 ~$ E! `$ y
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=10 k' X/ X- B2 C/ {, w$ t0 C1 o5 D
3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;8 o6 X+ A6 s! P% ]4 ~# P( m! E
$ q( }# C4 R& P4 U7 X% a2 G# N
! m8 m" s5 A6 M( P
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:/ Y: ~4 L- N+ {
" \8 q1 t/ h* T+ F0 S
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。% e, w" T9 m/ W
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#" ]: t/ L4 C5 ?, ^
$ ^1 l; e- _& L8 O$ f7 u( D登陆之后,第一个选项就是创建AK的。( c4 I& n. w0 y4 k
点击创建应用
# c- H, C6 r$ d$ s+ s! k5 C
& ]' w! e, P1 `
4 F" I3 f( x! J* Y* ~5 \: h应用名称 自己填一个5 p7 }$ Y$ f1 R6 j
应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)& O9 u9 K& W. _: D
启用服务 默认全选就可以3 t" I0 M, I- `5 U- p% I) n
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。, H4 S9 s! a a% |4 O
然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。
c* o" f7 O2 K* ]' j% Q* L: P- @0 y1 q; F! x$ H; I; C
刷新页面,地图又回来了。4 G. H+ r3 X% i$ i
3 A2 D2 X! z W! z' ?% f
* _* G: A5 l2 j. i4 c: |8 \' \* L
|
|