用BingMap画图
脑阔疼,最近跟着老师一起做项目使用到了GIS,要求用JS画一张简单的地图。地图上要求有两点:
- 标注两个点
- 两个点对应的要有两个提示框
首先,讲讲为啥用的BingMap吧,本来项目使用的是Supermap。但突然加了一个要求,地图要是英文显示的,这可把我难死了。一开始想省事,认为supermap有参数可以改,使地图成英文版的。(ps:这里先解释一下,汉化版的地图,我是用的SuperMap.Layer.Baidu()方法加载出来的)
最后,本着偷懒的想法,找了一上午的办法,如何设置参数修改成英文版的地图,结果证明终是错付。最后,脑袋一闪想起来换谷歌地图,谷歌可以直接换成英文版。但是事实给予我痛击,谷歌在国内真的行不通,所以,就有了这篇文章。
回到主题,也就是如何在前端页面渲染BingMap。这里笔者大概给分了几步。
- 申请Bing Map Key
只要你需要画Map,调用了Api,那么你就必须要申请它的key。这里给一个申请的地址Bing Map Key。怎么申请,我这就不啰嗦了。Key复制好,准备用就对了。 - 在你的h5页面里,引用底下这句话
这里注意几点,首先调用的api执行了回调函数GetMap(),这个函数必须与js文件里加载地图的函数名一样;再者是setLang=en-US,这决定了地图渲染到底使用的是什么语言;最后,把你自己的Key添上去的时候,要把‘[]’,中括号去掉。
<script type='text/javascript'
src='http://www.bing.com/api/maps/mapcontrol?callback=GetMap&setLang=en-US&key=[PUT_YOUR_KEY]'
async defer></script>
- 然后就是在h5页面放置一个空容器,用来存放地图,然后就是js渲染了
<div id="myMap