|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:
4 L+ r( Z9 x5 i$ z. e+ W# n* o" D$ z% n ?7 C
! S [9 ^, {) u* l& f
- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html& @- t% W) }( T7 i, D) _# B
- ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4' r3 i) Y2 ^2 G- X
- ‘. This request has been blocked; the content must be served over HTTPS.
! G) Z% L. C8 q4 `5 w V - VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 0 Q9 h" _( j* `& l( g
. x. d/ [4 ]2 \" y这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。
- L4 A- E2 e/ C6 \0 m: R0 r
! j) i2 S- ^( ^配置方法:
e! T$ A( A# [& N1 f0 j9 \+ s, E0 O+ [. H1 `% s
1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):+ v% v! j1 Y" r
https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;4 F6 I g ?. J7 E, s
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:. @( N/ @" `) N
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
6 O# \7 X. g& P7 R5 h, B+ @! s3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;" s0 a( B& [8 D1 u x: H+ p
; C/ G o1 @) i! t
?' o+ l0 l$ Y" Q3 I) T非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:
3 |4 j8 Y8 J4 m/ v9 b) e/ |+ G/ X$ B& I+ ~+ P1 i
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。
# t+ u( E% g1 W/ `- ~. w) o, l错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#
@$ A! K) m( Y6 g% R! }1 j' |$ I+ T5 B# B3 I5 \
登陆之后,第一个选项就是创建AK的。
8 r/ {) n' h! D2 ~点击创建应用
. {$ L. a* O: D; ]% S' q6 C
( W2 C, C& [1 v- d$ v
$ Q) S# Y, W! Y/ P应用名称 自己填一个# l8 O: B6 W2 |
应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)
* w; a1 S( i8 \. i# I* S7 \& _启用服务 默认全选就可以; i2 M9 u# i: S, g* `# O ]
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。3 v& [- e G% `$ {+ X3 o2 R" z5 I
然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。% P s8 d$ w* G% c! K8 z. T
- }, `' t3 m/ e/ A
刷新页面,地图又回来了。
* n. n& S7 M2 g' k+ B
% G1 W! t2 _+ }9 |, R0 `8 K! O; [8 A2 n2 b8 W8 L4 M
|
|