|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:8 k4 [ F0 B( q# J3 U
3 T, o( {# n8 @! ]: i) U1 F
" L4 Q ^0 n |) l$ p) j- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html7 N$ |1 G4 z" {; _- t
- ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
# |% U5 Z, Z0 I - ‘. This request has been blocked; the content must be served over HTTPS.
1 r6 s7 T# K' X' u: f* y - VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 # P b: H. ?; W9 C" [% o, l4 m) K' ^7 v
4 z; F* J( d: f& ^7 a/ o# H这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。- P: ^& x9 h4 h, N$ ~* w4 y9 X) N
9 U" x/ e7 I/ X' v配置方法:
2 S; b, f4 M! l0 L3 ~3 p1 \& G
+ o) K- U( k' ?! A5 e1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):
- \/ F7 V0 l4 a& ]- W* [https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;9 a. ^1 E5 s. p! C
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:8 Q3 o' v' r8 O7 X9 z0 S- ?0 D
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
& r5 F' I6 K- e& E/ M3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;
3 ^& [. V: \" i/ \2 _5 y% ?
: V. E5 W6 n. f S& m' i( C2 l- u/ g; \$ N$ C$ e
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:
8 I: t v! B% D8 ]/ ~# {, O1 d. p1 n- U- z5 o" G: s
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。
! q7 b3 T. b) e9 n- b/ N错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#6 P2 h1 C5 a' v5 y- t
6 ^! f. ^; x! b* Z7 C/ o8 ?
登陆之后,第一个选项就是创建AK的。0 G6 }3 F+ A0 _* d: }! U
点击创建应用
4 B7 c- L5 K# j; B" W
T' o' ^) |7 k+ m6 K5 `
1 G) w5 a2 n8 i; b应用名称 自己填一个
: ]5 `7 p* |8 T应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)
6 t$ t- P8 s9 K启用服务 默认全选就可以
0 @7 `1 S, G ~7 W$ q% |* ZReferer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。
. z# e: p2 @- i% u+ w+ `然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。
7 l9 p8 A% j+ L5 H" A
; \: {2 a/ J4 h' _2 i3 B. M1 [刷新页面,地图又回来了。- L& G& I W2 Q* [3 G# F
& Q6 J9 V4 f6 L
4 `7 A4 K% m" ?" b# f3 o+ N |
|