|
|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:
; f# t& q3 l' I6 Z
9 i( n8 t! m( [- y) U, n( |1 v
& V. a' m) J* i- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html* ~! t+ U! k4 U0 P/ w& o0 ~) s# p
- ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.48 Q# n& ]4 a, k- }
- ‘. This request has been blocked; the content must be served over HTTPS.) t0 P% F, ]9 w% ~$ b
- VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码
- n* K1 |3 Z4 @" ^$ N& A9 G
) V4 p( X2 v4 w2 C. [7 j这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。; d M9 p: L2 z
* }6 ]& @; z$ H) A6 }; N, H$ M" Z配置方法:
V7 `3 E* X- `2 g1 N i) s! m z( U. z5 b }
1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):# G* H0 O# a0 f$ W2 y
https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;
R+ [" b4 V" n# k7 R: r2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:* I0 T& R/ {6 ?" G
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
7 Y2 |$ e) y9 V3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;* @0 C! V0 v2 p( _$ {$ t9 P
* n& H. h- M& c/ D* V! w+ r: @( b5 z* f6 u+ }4 I
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:
8 I& M( z2 {3 s9 C* V% F% c9 Q: }4 v& F6 f- \; |; t+ N
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。( ]( ~6 {3 ~5 T/ f: y
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#
( {0 n" M9 K1 y2 I2 T( c) ]& K7 Q' Q, f- V" k" N
登陆之后,第一个选项就是创建AK的。9 U9 [* f, Z" O3 p- O
点击创建应用
0 ?" Y* M* `# g, L! ] Z
; M% b, f4 a7 d$ q, Q- W- e: S3 v. c- e7 S" {9 T
应用名称 自己填一个
9 \, J/ ^" T8 m; V4 B5 W应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)/ t% M* }, ^- h! Z+ I
启用服务 默认全选就可以
& K5 {* b4 C, q* S/ v8 Y, _Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。
4 s. S! @( z. U$ H; T然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。+ ]: H: ]0 M2 r- X
8 G# F( ?% i. d. A刷新页面,地图又回来了。
& G- O( x! ?6 J6 E3 F4 F7 m5 ]' o2 c( n
( {; A q* U# e5 x |
|