|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:$ S) q9 f' l# ~ p4 E& k% r
6 t$ T7 y7 z1 p5 e
" {" o+ n |, t) O" E! `
- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
& U' Z$ K! |( O- u - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
' G' ^ |3 |# V4 V6 A4 ^3 J" ^ - ‘. This request has been blocked; the content must be served over HTTPS.2 M4 r3 x& O t) q" j9 P) x& `
- VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 0 G9 d2 ?8 u- `* \; `. ~3 N. ~. [! S
( k2 \; c# W+ k5 v2 R7 ?5 e, X这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。
( `$ A0 n& p. |2 Y' ?3 Y% m" k3 w/ K2 y" d
配置方法:
* j" M1 J2 S$ o8 ]
! d* X7 D* u! @: y1 v- h1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):
$ h" K$ o9 a8 _2 Y0 X* }( Ehttps://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;
' L) E7 `! b0 a9 H+ V2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:
- ]" i0 O; E' o/ } P( g& s& Yhttps://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1
: K7 k5 h/ ]! U7 t3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;* A, e/ D. _2 H. n h% w
0 s2 W& ~# d6 d% c' q U# e+ `' i# f
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:
( g- J5 d l5 j G6 G v( k# P
" M+ W- N# r1 S; V百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。' [. m: n4 ^, l% M. Z
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#
+ J4 M `( D5 ^: y5 u0 A7 c, O% E- g* ?* G- s7 \, t( p8 z
登陆之后,第一个选项就是创建AK的。
1 l5 q2 Y& s7 R7 q8 b- L点击创建应用/ \8 Y1 ?* C# z- P1 ?, o# X
6 R0 M+ `" m" ]& C' x/ t# c3 e) A7 e) o I/ G+ O. V' G4 ?
应用名称 自己填一个
/ V! |+ Z% Q& e/ B/ G应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)
. a! [( g8 P3 @) Y7 j启用服务 默认全选就可以( K; v5 y2 m. H+ [1 W
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。$ C% R7 F, @; X- {2 I* Z8 [+ o" K5 g
然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。/ f( g2 _& s# D7 D, {1 o
& R1 X, M1 k3 y, d
刷新页面,地图又回来了。% k# ~* @6 U) j3 T! r! W; h
: y1 q2 D% Q( V( i! Y
0 @1 A! b% \4 T) {- h* T, K |
|