那些坑儿系列--Javascript--1--百度地图 api

最近在找最方便的年检地,但是有地址,却无法直观判断。各种地图应用也没有自定义多点显示。遂自己找了百度地图api写了个自定义多点显示的页面。碰到点坑,记录一下,分享一下。如果看官们觉的不错,或者有用,请留个爪印鼓励鼓励或者指出不足,也不枉我花时间写这么老半天。:)

环境:win10 1609 , 浏览器:Edge,ie,chrome

目录

坑一:跨域

坑二:BMap.Geocoder 和 BMap.LocalSearch

坑三:InfoWindow 信息窗口和 SearchInfoWindow 搜索信息窗口

坑四:异步回调与循环


坑一:跨域

       api文档要求,引入格式为:

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的key"></script>

       由于是本地用js写的一个页面,Edge直接不允许执行,在不改变安全配置的基础上,几乎无解,而且无论如何该页面,均会出错,最终放弃。

       chrome的console中,一直出现错误

A parser-blocking, cross site (i.e. different eTLD+1) script, http://api.map.baidu.com/getscript?v=2.0&ak=你的key信息&services=&t=20181212102408, 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.

查了一下,是跨域错误,点进错误链接中看见这个src指向的脚本:

(function(){ window.BMap_loadScriptTime = (new Date).getTime(); document.write('<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2.0&ak=你的key&services=&t=20181212102408"></script>');})();

由于用的document.write 重写脚本位置,造成chrome跨域错误。

搜索了一下网上信息,觉得最方便的就是直接将src改为脚本中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值