|
|
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:
; H( `3 a, v3 w9 @' Y8 b( {! D9 h) @
* ?5 h: E8 ^( n- Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
4 K) ^6 }2 k* n, M% `9 O ] - ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
, F4 h6 _3 e' V. K4 o - ‘. This request has been blocked; the content must be served over HTTPS.6 c$ T3 y" Y+ z- H" v B
- VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码 . C0 v; P- E# T" K1 ]/ j! y- x; h
2 g x! X0 ?1 n0 ?* m这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。
% B: P3 G* b1 U- Q$ y2 k: Z) s$ \, T8 K, ?2 [" Z1 H9 {: T0 j6 E
配置方法:
, G9 ~; C0 C/ B4 L9 E
9 U" N7 F$ [! R! k( M1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):! u+ J/ r$ v2 T' Y& C/ ]0 W0 v, j
https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;; u/ q+ S- t% A) ^
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:- N2 p H. Q7 K
https://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=16 f+ h0 y* O( @) s
3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;1 Z7 d0 ^% u6 \0 Q8 |9 X
. v5 A* v0 I6 J1 e& @
) Y, _8 ~1 w8 ]+ T A- _1 v
非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:6 e3 [7 c( H1 f* ]
+ u' T) P5 S% Y9 [& w; l- Y
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#。$ U5 }2 T6 L' c4 o: Z* J$ ~
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#
) x& G( Y+ [' ?* K2 h' X+ V( ?! e
/ H( y' D9 [, ~2 q/ @ f登陆之后,第一个选项就是创建AK的。( j1 W a6 k! ]- F7 U7 w9 t
点击创建应用; f8 r' O. E% M+ L+ a
5 a% p4 j6 ~* o7 B5 _. t$ g9 H3 t/ e; l, C( }
应用名称 自己填一个
9 \* ^/ b$ D i( _* s) A: U' G/ ?应用类型 浏览器端 (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)$ q+ { I! @- Y- @" Z& [( M
启用服务 默认全选就可以
6 j" x) ^- v% O1 ~! p& ?8 wReferer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。
$ U5 E: R- X" ~- {! S+ x1 a然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。" D* m! ?2 S2 V' z7 j7 E5 n
/ \( Q6 C1 x& ~7 o# I1 W" c
刷新页面,地图又回来了。
! G, d% y/ q# D6 r5 ]! @* \
: R! M1 H- `1 s) `! ^. M2 p% d! A
# [" M D% c9 R! n* t" p0 T |
|