百度地图 API 产品简介
百度地图 JavaScript API 是一套由 JavaScript 语言编写的应用程序接口,可帮助您在网站中构建功能丰富、交互性强的地图应用,支持 PC 端和移动端基于浏览器的地图应用开发,且支持 HTML5 特性的地图开发。
百度地图 JavaScript API 支持 HTTP 和 HTTPS,免费对外开放,可直接使用。接口使用无次数限制。在使用前,您需先申请密钥(ak)才可使用。
基础使用
引用百度地图 API, 将 “您的密匙” 替换为你在百度地图申请的 AK, 即可使用。
那么百度地图的 JavaScript API 是否支持 HTTPS 请求呢?
答案是当然的。JavaScript API V2.0 及以上版本支持 HTTPS。
如果想使用 HTTPS 协议调用 JavaScript API,直接将脚本引用的协议修改为 HTTPS 即可。
可以看到添加
&s=1
后所得到的结果与没添加时是__一致的__。
问题2. 浏览器警告
在部分浏览器(如谷歌)中会产生警告如下: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( `` ); })();可以得知正是这段代码中的
document.write
引发的警告。那么我们在HTML文件中直接使用导入百度地图的API就可以避免此警告。不过这样导入时,缺失的另外两行
window.BMAP_PROTOCOL = "https"
与window.BMap_loadScriptTime = (new Date).getTime()
一定要记得添加到项目中,避免产生其他问题。以上所述是小编给大家介绍的在HTTPS 项目中使用百度地图 API详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
推荐阅读
如何解决《刚刚通过NuGet更新了ImageResizer,无法运行app,因为它无法找到BundleAttribute》经验,为你挑选了1个好方法。 ... [详细] 如何解决《python将列表的所有元素向右移动一个》经验,为你挑选了2个好方法。 ... [详细] 如何解决《C++,无法打开源文件"ifstream"VisualStudio》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在C#单元测试中使用64位本机.DLL》经验,为你挑选了1个好方法。 ... [详细] 如何解决《清除std::vector数组的最佳方法是什么?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《JavaNashorn脚本模式:如何写入文件》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何从大师分支以来gitdiff所有变化?》经验,为你挑选了2个好方法。 ... [详细] 如何解决《如何在Swift中以编程方式创建"Back"UIBarButton项?》经验,为你挑选了2个好方法。 ... [详细] 如何解决《pythonpandas-应用具有两个列参数的函数》经验,为你挑选了2个好方法。 ... [详细] 如何解决《位置:固定,底部:0似乎不适用于离子应用程序》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何告诉scikit-learn给出F-1/精度/召回分数的标签(二进制分类)?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Azure共享计划上的SSL?》经验,为你挑选了2个好方法。 ... [详细] 如何解决《如何防止Onchange在页面加载时触发》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何获取状态栏背景颜色以显示colorPrimaryDark》经验,为你挑选了1个好方法。 ... [详细] 如何解决《添加新源数据时,ViewPagerAndroid返回空视图》经验,为你挑选了0个好方法。 ... [详细] 如何解决《将8个字符从内存加载到__m256变量中作为压缩单精度浮点数》经验,为你挑选了1个好方法。 ... [详细] 如何解决《Div不知道屏幕大小调整》经验,为你挑选了0个好方法。 ... [详细] 如何解决《不能欺骗sudo;报告说有效的uid是非零的》经验,为你挑选了1个好方法。 ... [详细] 如何解决《命令行"java-version"会将结果发送到stdOut或stdErr吗?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《100位浮点蟒蛇》经验,为你挑选了1个好方法。 ... [详细]吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1将动态创建的下拉列表的自定义属性值添加到另一个元素
- 2Akka HTTP Streaming JSON反序列化
- 3睡NSThread Vs. GCD派遣之后
- 4如何使用Laravel Schema Builder在表上设置注释
- 5R:删除重复的值并将第一个保留在二进制向量中
- 6如何在Xcode中归档/导出Framework?
- 7如何在其他子元素溢出JQuery时显示子元素
- 8如何基于异步源设置initialValues,例如使用redux-form的ajax调用
- 9atom-typescript找不到打字
- 10char*/字符串连接没有复制?
- 11在linux mint上安装python3-venv模块
- 12Microsoft.AspNetCore.Razor.Tools的作用是什么?
- 13无法启动'./qemu/linux-x86_64/qemu-system-i386':没有此类文件或目录
- 14黑客/覆盖Javascript
- 15打字稿,声明和CommonJS
- 16删除pythonlist中的项目
- 17Oracle通过递归获得所有组合可能性
- 18删除没有特定扩展名文件的所有文件夹和子目录
- 19为什么Member Detector后备必须是int?
- 20运行UI在设备上测试xcode 7
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有