搜索
查看: 150|回复: 0

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

[复制链接]
发表于 2021-1-19 17:59:57 | 显示全部楼层 |阅读模式
昨天给网站升级了https,今天发现打开公司介绍页面百度地图不显示了。错误提示:/ d, b  j1 L$ J/ l
+ B; n& G1 |" I0 X  o& c) k/ x

" V3 k5 r3 h  F4 W9 ~, Q
  1. Mixed Content: The page at ‘https://www.******.com/public/admin/index/index.html
    2 T$ u4 s0 N9 [2 n3 u1 f
  2. ’ was loaded over HTTPS, but requested an insecure script ‘http://api.map.baidu.com/api?v=1.4
    3 ]6 O2 A9 O5 O9 ^1 t7 n9 ~7 P
  3. ‘. This request has been blocked; the content must be served over HTTPS.5 e- r: @0 g# \. ?2 k: V
  4. VM255 addshopview.html:381 Uncaught ReferenceError: BMap is not defined.
复制代码

+ U0 X* J' {  S5 u# D) b1 B1 Q  N2 t' h5 z, I
这个问题是因为在百度的JavaScript API V2.0版本才支持https,而原来的是不支持的。
* o4 z$ z0 E) v/ i% l# b; B" i, C: a! B% b6 W# M
配置方法:+ t) s" t4 A* i! K. W

( Q, W5 J" q: K1. 如果使用JavaScript API ,需要加一个特殊字段 (s=1):
0 Q% V9 L* D- ?https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1;9 N  A  |8 {, e3 M
2. 对于Web API 无需加特殊字段,直接使用 HTTPS协议访问即可,如Geocoding:
4 _& ]# `7 @# w0 |. g$ _, v6 Chttps://api.map.baidu.com/geocoder/v2/?ak=你的秘钥&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1& Z, R+ i# n2 _! L, V
3. 如果对数据安全要求高,建议使用 POST请求,避免把请求参数放到 URI中敏感信息被泄露;
. _' B. G! l  h' K: c$ S: ]; [( `$ }3 R: r" x

: S1 F: E5 K8 M% K) j: I5 K非常欢快的用第一种方法复制替换之后,发现在使用百度地图API的时候,运行在浏览器上出现:; s( u0 S, U) q$ T9 d" {" b
. _% m7 E3 F8 c( x2 Q
百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥,或此密钥未对本应用的百度地图JavaScriptAPI授权。您可以访问如下网址了解如何获取有效的密钥:http://lbsyun.baidu.com/apiconsole/key#
# U8 t; L. f0 i/ d* |+ J# o+ ?错误提示,检查之后发现需要一个百度地图的AK密钥,这个密钥目前是免费申请的,网址就是提示的这个网址:http://lbsyun.baidu.com/apiconsole/key#1 }5 ]2 R$ [  R# l5 r

. V- i0 J- m* X* M% {9 n) U* r0 r登陆之后,第一个选项就是创建AK的。) r9 \. t: S( C6 k' F! @0 Y& ?9 y
点击创建应用
8 H$ J+ I8 R0 `) |, N
% R4 M- H/ t% V/ c5 m* R

1 O% H$ {! q4 t3 T应用名称 自己填一个
% f; Q' F: O  y应用类型 浏览器端  (这个一定要填浏览器端,刚开始直接默认的第一个,死活也不好使,后来才发现是选错了……)1 O6 F& v! m- G  ?! l$ R8 {9 G, s
启用服务 默认全选就可以+ s' Y% ^  x3 j% z
Referer白名单 按照说明要求填写,最好是你用的哪个网站调用,就写对应的域名规则,尽量不要全放开。$ x2 v& e) `* t
然后把密钥替换到https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1中你的密钥的位置,然后替换掉原来的JavaScript API 即可。
" j* g6 J3 R' P  X; V/ Y, F. z8 }" s) {
刷新页面,地图又回来了。/ N" O5 T. E- f5 }/ v
: h' y4 @# E8 f5 |3 w$ Q" Y3 H
* g3 T  `" \# F' y
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|小黑屋|手机版|Archiver|虾皮社区 ( 鲁ICP备13006813号-1 ) 鲁公网安备 37021102000261号
返回顶部 返回列表