国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

詳解在HTTPS 項目中使用百度地圖 API

2024-05-06 16:50:20
字體:
來源:轉載
供稿:網友

百度地圖 API 產品簡介

百度地圖 JavaScript API 是一套由 JavaScript 語言編寫的應用程序接口,可幫助您在網站中構建功能豐富、交互性強的地圖應用,支持 PC 端和移動端基于瀏覽器的地圖應用開發,且支持 HTML5 特性的地圖開發。
百度地圖 JavaScript API 支持 HTTP 和 HTTPS,免費對外開放,可直接使用。接口使用無次數限制。在使用前,您需先申請密鑰(ak)才可使用。

基礎使用

引用百度地圖 API, 將 “您的密匙” 替換為你在百度地圖申請的 AK, 即可使用。

<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=您的密鑰"></script>

更多問題

問題1. https項目
在 https 項目中通過http導入會出現以下問題:

HTTPS,百度地圖,API

那么百度地圖的 JavaScript API 是否支持 HTTPS 請求呢?
答案是當然的。

JavaScript API V2.0 及以上版本支持 HTTPS。
如果想使用 HTTPS 協議調用 JavaScript API,直接將腳本引用的協議修改為 HTTPS 即可。

<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=您的密鑰"></script><script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=您的密鑰"></script>

以上是官方文檔介紹的用法,在用搜索引擎查找問題解決方案時,看到前輩們的技術博客都說使用 <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=您的密鑰"></script> 不能達到預期效果,必須添加參數 &s=1 才可以。
不知道是不是官方進行過優化,下面兩張圖是今日實測的結果:

HTTPS,百度地圖,API

HTTPS,百度地圖,API

可以看到添加 &s=1 后所得到的結果與沒添加時是__一致的__。
問題2. 瀏覽器警告
在部分瀏覽器(如谷歌)中會產生警告如下:

HTTPS,百度地圖,API

 A parser-blocking, cross site (i.e. different eTLD+1) script,  https://api.map.baidu.com/getscript?v=3.0&ak='您的密鑰'&services=&t=20190301102433, is invoked via document.write.  The network request for this script MAY be blocked by the browser in this or  a future page load due to poor network connectivity.  If blocked in this page load, it will be confirmed in a subsequent console message.  See https://www.chromestatus.com/feature/5718547946799104 for more details.

 

這段警告的大概意思是說一個阻塞性的解析器,跨站點的腳本,通過document.write調用。此腳本的網絡請求可能由于網絡連接不良而被瀏覽器在此頁面加載或將來的頁面加載中阻止。如果在此頁面加載中被阻止,將在隨后的控制臺消息中確認。更多詳情參見

那么我們來分析一下百度地圖API導入得到的JavaScript的代碼

 (function() {  window.BMAP_PROTOCOL = "https"; // https導入會有此行代碼  window.BMap_loadScriptTime = new Date().getTime();  document.write(  `<script     type="text/javascript"     src="https://api.map.baidu.com/getscript?v=3.0&ak='您的密鑰'&services=&t=20190301102433"   > </script>`  ); })();

可以得知正是這段代碼中的 document.write 引發的警告。那么我們在HTML文件中直接使用 <script type="text/javascript" src="https://api.map.baidu.com/getscript?v=3.0&ak='您的密鑰'&services=&t=20190301102433"> </script> 導入百度地圖的API就可以避免此警告。不過這樣導入時,缺失的另外兩行 window.BMAP_PROTOCOL = "https" 與 window.BMap_loadScriptTime = (new Date).getTime() 一定要記得添加到項目中,避免產生其他問題。

以上所述是小編給大家介紹的在HTTPS 項目中使用百度地圖 API詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双牌县| 噶尔县| 望都县| 天门市| 永川市| 游戏| 平南县| 灯塔市| 浦北县| 黔西县| 东兴市| 邢台县| 英超| 万盛区| 博白县| 崇礼县| 饶平县| 剑川县| 景德镇市| 东乌珠穆沁旗| 镇安县| 虹口区| 双桥区| 错那县| 宿松县| 太保市| 徐闻县| 乌鲁木齐县| 阿拉善右旗| 嘉义县| 马龙县| 都匀市| 浮梁县| 沙洋县| 绩溪县| 宕昌县| 木兰县| 安陆市| 临澧县| 扶绥县| 靖安县|