|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:
! w3 K" e5 M0 V0 f
) ]- f1 a2 A7 E" e0 R3 X2 W/ F% X! l! f+ N! |
- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
3 \$ c' @ {0 z0 T# [ A - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
9 Z1 e, G* R* j' k. s - ‘. This request has been blocked; the content must be served over HTTPS.! i0 G# o. k3 J* i8 K; p. D
- VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 3 |. M7 H' h2 P) [0 F
) h$ r) J9 y7 R) }7 M
这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。0 D5 D* u1 R9 g. K7 K4 S) j
- Y b d# _% K6 {1 K6 c/ Q5 o配置方法:7 ?( t. g A! W1 |" [' x, m( R
2 h* Q4 s* U" e/ Q" ?
1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):) f- c) o, f! \% K+ k7 S
https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;
Q1 d# `% t# n7 {: \2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:. |" {4 T% {8 D# D
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
8 f8 P! A! e( ]% y1 W; a% \3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;3 b1 n( |6 C, a V/ G
5 j9 p6 H# ~$ D4 M6 q
6 V) U/ Q M3 e5 m' T3 {8 Q: M
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:1 t( M7 m) Z. X* e; c9 P
+ ? Q+ }4 i" |1 }4 Y+ n3 f
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。
& _4 V) U, ]7 K* y* H, G6 [错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#
. f; g- U T3 ~7 B% g
/ W, f" K# {+ u& j登陆之后,第一个选项就是创建AK的。1 w9 s/ C' m2 ?9 X% ^
点击创建应用
c4 n" v1 G9 B% ]' q- O; I, p$ p4 a
/ j, S: j5 o0 g/ \+ Z应用名称 自己填一个
2 p7 W- ?: t! k( w. A* G应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)
" V- T D3 Z3 ]1 ~启用服务 默认全选就可以2 X% |5 z+ o, N6 C: D- m% z4 u
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。2 ~: K% T1 n- t3 B9 k' X
然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。/ ?& b" e0 c, l& g" U
. v4 `) I. s$ c3 ^刷新页面,地图又回来了。* E0 }& Z* Y! @! Z f
9 K% L& ]( ~, B6 @& b5 _ W! `! E
% p; Z9 A, H; p9 S, L5 b' C" b |
|