|
|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:) ?8 d$ t- V! c$ f
{, P9 P% M8 T7 w! q8 D
# r! {$ m/ |) q E1 r
- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
& a0 N+ @: u P6 g, F& C - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
* j' S; H- |7 b1 r, ^- A - ‘. This request has been blocked; the content must be served over HTTPS.
0 v: z4 ^0 x$ l& r. Q - VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 0 C0 ~) ?, E9 P) g2 a4 z) ^! e( T
3 D: Z/ r2 Q# B% m$ A9 n这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。) Z% S; [& \6 }
# o; }3 @ n7 }! X配置方法:
$ q* y1 Z2 l" s* L2 p0 c' H1 V& M2 K; Z
1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):
* x7 a. d1 X' I ~% ahttps://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;4 b6 N) G: f! H Z
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:7 v9 K! `( a+ F# S1 m
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
7 K" E6 |$ Q$ z' ? Z$ g3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;
8 \0 G5 c. o1 R) U1 A$ H2 u/ @$ \# ~1 x7 Y- i% y+ J+ z. i
" B1 u* I9 m; [ I8 W
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:
/ g4 T5 Q' E9 H+ T; q @% I. c2 [! V
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。
$ h7 O9 v, j' a" F& y# Q错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#
t1 V1 \0 T$ ]# n: \5 U. P) C, T3 g
登陆之后,第一个选项就是创建AK的。1 d/ i4 U4 Z( a# h. R
点击创建应用
a4 t! {% _/ J- M7 @" T) J" p8 t
c) F2 q- E1 q- x$ D0 f/ ]
/ T! W8 y! h1 l/ U! i应用名称 自己填一个
. p8 i h, q2 }0 E4 G8 J应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)
k5 s. G0 ^) ]' ~' C+ N$ x1 q启用服务 默认全选就可以. t, { r9 l+ B J
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。5 j+ |4 x* A o
然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。5 `3 T- f" e" G* m A# Z8 S+ `
4 g6 f" ~# O: @; M) I9 T4 f刷新页面,地图又回来了。
. I4 Z2 S2 b9 ]5 k/ r" n6 ?: s7 O/ y+ ]3 I) [/ K9 x2 V' ?
* O. K3 M9 P7 f: R: T5 k
|
|