搜索
查看: 13226|回复: 0

[网站] 网站升级https后百度地图不显示解决方法

[复制链接]
发表于 2021-1-19 17:59:57 | 显示全部楼层 |阅读模式
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:
) c* v1 U+ D& y2 L% j8 A! R& X, `: m  |

" M9 \5 `* M4 s3 O
  1. Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html) z& G$ R, e* ~! P! r' H5 r' Z
  2. ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
    , Z1 ?. ^% E' T# q3 o$ ?
  3. ‘. This request has been blocked; the content must be served over HTTPS." Y2 `& q# \7 I7 J0 L
  4. VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码
3 F( n! t1 W" M6 C/ \% @* D1 R
* a) z) O  `6 h; q% n# E
这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。% _' o/ j- d$ z. M3 T$ q: p7 d' ?

$ v5 g. m6 o8 r. q7 W) q3 U/ W配置方法:
+ J4 h! L, g  B" A  z
( N: l9 v( Z" T) H1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):
3 K( m; A, O0 ^: \1 a! `https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;
; c+ _# l- m" ~6 f( ~) H2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:
, l1 i, u% F# k  A$ Z7 l8 ehttps://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=16 A; a& @% `5 X/ V; k2 a% z1 \+ X
3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;
2 ?2 d4 S) b+ E  E, ~, Y+ S8 P, v  H  i3 S0 d2 a% K2 R6 G6 K

; u! i3 {) i2 b4 S1 b7 x非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:. u& T+ ~! }5 g6 x/ S/ ~

& Q. a; e5 s- G) c. Q" `( v. K- j+ x百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#- o3 y6 x9 M+ ?* ]! o! p& I
错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#$ T$ U/ K7 E3 F' @6 f

+ P4 j  _8 P# l3 e9 ^. u登陆之后,第一个选项就是创建AK的。
: j! L, ?: y# y% l- B0 n% V6 K点击创建应用
1 j5 U& Z' B/ e; S9 O% ^6 z$ k2 q6 n" X3 f$ O2 U7 j/ Q9 X
0 s; L' M6 ~' }+ V
应用名称 自己填一个
7 F3 {& a. Z6 r$ H- w0 y# S应用类型 浏览器端  (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)6 r6 T. k/ n7 X3 i/ V, g8 \8 Z
启用服务 默认全选就可以
) k0 r- I' Q# U  o" zReferer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。
' @4 X9 i, P, G# U; p然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。& D- \* x! T5 A6 |8 j
  S$ b% q$ s# P3 _/ R: O3 P' x
刷新页面,地图又回来了。+ P" q) ^% E8 Z4 g7 U, f

) \2 V( J& z/ a( [" j0 ~! l  R3 ?+ w1 b
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

热议作品
精华帖子排行
精彩推荐

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 鲁公网安备 37021102000261号 |网站地图
返回顶部 返回列表