|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:" d7 S6 N4 K. d1 ]% q
( Y# X' z: K. [" @. p, \
/ f2 Z$ E4 Z, K1 M* ?. ?
- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
8 I+ _/ f- _" g" G - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
$ S1 [* d8 j/ m9 w" {, o - ‘. This request has been blocked; the content must be served over HTTPS.. V" u6 g: J- k% j' k
- VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 9 v, i0 R* `+ q& m1 c
1 x6 _0 K" i6 {. k& K' Q这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。# O# q0 l2 n8 g
3 }6 X2 O/ X4 z. D配置方法:
. [2 ]3 D" t; ~3 x3 f
$ l# N' t/ [4 k/ ]0 T9 f' q1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):
8 J9 `% y0 P' S$ ehttps://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;' P! e5 m) Z! f; j) }# h6 E
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:
7 |1 ]* t# F; G' D; zhttps://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1- @' n. n( k' t! d' U5 w
3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;
7 z4 l& @/ ]+ V7 o9 p( b( A$ ~+ f) }4 F. r
8 w% {) [6 v& A非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:
1 [2 n: a4 c- @9 j% F
2 P0 k- D1 N; o3 p# f+ G百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。) o+ s. E) d+ x' |% w
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#4 w2 u% S' c; \/ Z- f* C
' [6 m) b; ^, z/ m4 F登陆之后,第一个选项就是创建AK的。; j, {! C7 Z1 {
点击创建应用8 z' s; ~! W0 @( M# h5 R1 w
6 }4 F( y; G/ J- P7 A+ h. P9 l8 U* Q7 b# Q
应用名称 自己填一个
! e9 |" E, T+ x: J9 E' S7 p0 o+ K应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)
: p& V( M& }( T8 c启用服务 默认全选就可以5 a6 g$ v1 D# u( S' N
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。
$ X7 c. V: s& n然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。
$ x& ]6 e5 S) V3 `) G0 u, c# H# S' h4 N
刷新页面,地图又回来了。
& p$ S5 T1 O# a; Z4 q! |
3 f& M9 ^! n3 C6 d; u6 M* S0 q0 ~7 Z$ F
|
|