|
|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:
" U2 |0 s* }7 `4 f/ ^, D% N4 T$ W6 F
5 b( d# {6 g1 s, X- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
; x9 C5 ^* F; Q - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4( ^+ h8 x. a' p, V. M% `# y9 S0 i2 C( a
- ‘. This request has been blocked; the content must be served over HTTPS./ ^5 c5 r: ?5 l
- VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 ' y" X% `8 H" C. m
2 g0 h- Y s7 U7 Y& ~+ ?
这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。' w, a0 U: _* m! t$ }# P0 W( w
6 {7 h( c4 @, V8 A0 |# S配置方法:
4 @, r' M o: H( ^' ^ [+ M/ n+ @( g/ e; |
1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):
c& Q1 h4 k( a8 R2 xhttps://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;$ w: s0 Q7 c$ H! u" x
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:) j' e1 C; [7 b( Y. @- p+ D
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
1 f. A i: q) s% r9 g! C, ~! q3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露; D- N3 F$ @. V! G/ V
) Y% t+ a1 L, K' h5 [9 I
( g! r% @7 {! P/ q* t非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:
& K* T; ^! m4 C( u9 A4 X( S, m7 ^2 t K
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。
( W& N6 B; A$ Z, \% J; x! T错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#6 M, d u* H' y1 N, B
5 B5 k5 t4 ^; M$ x+ c0 m5 L7 R, E
登陆之后,第一个选项就是创建AK的。
5 Y6 O* k t' m# Q/ M [% {点击创建应用
a5 K6 q+ x, k: b- V1 H/ O: T# ^- [ ?3 Z, K7 l
6 u- p) ^- u* \4 M( q
应用名称 自己填一个
; [ ]( J& T. Z. \2 x应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)) r# X6 @+ l1 k3 ^- f# a% j
启用服务 默认全选就可以6 |; c$ K! x! c9 N; o X8 W
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。
0 Y" D* r. w) J* C& P% S然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。
6 Y$ o( g* ~9 o+ z1 n5 [" F9 z% i; R6 h8 ^/ e3 ]8 [/ q4 C1 E! K
刷新页面,地图又回来了。3 O# Q4 Q, a) b) r# i6 w5 d
: `. |# O" m8 U% U* I, j) |1 `! |6 p
|
|