如何利用JavaScript API绘制高德地图

JavaScript05

如何利用JavaScript API绘制高德地图,第1张

这里,我用的是HTML5页面进行设计的。那么,首先创建一个HTML5文件,

如下图所示:

接着,设置下禁止浏览器窗口大小改变地图大小,并引入地图核心JS

<meta name="viewport" content="initial-scale=1.0,user-scalable=no">

设置因浏览器大小改变地图大小,进行禁止;引入地图核心js前,记得到官网上申请密钥

如下图所示:

地图如何在页面上展示出来,这里就需要一个地图容器。于是,我在<body></body>中设置一个div,作为地图容器,

如下图所示:

接着,设置下body、div元素的样式,如宽度、高度、字体以及字体大小等。这里,必须要设置下宽度和高度,且使用百分比,这样让其自适应,

如下图所示:

然后,编写生成地图的核心JS,指定地图的经纬度,地图为2D的,放大级别zoom,

如下图所示:

最后,将地图初始化函数放到body中的onload事件中,让初始化页面就加载地图,

如下图所示:

7

但是,我发现这样写的话,地图始终不出来;于是,我仔细检查下,结果发现地图容器的ID和初始化函数地图ID不一致,还有没有设置html元素的样式,导致地图始终显示不了。修改完了之后,重新刷新浏览器,地图显示出来了

定位蓝点不显示有很多种原因,我这里记录一种我遇到过的,就是我添加了定位信息之后,定位蓝点会消失,把定位信息去掉,蓝点就出现了,这是我在初始化定位的时候添加了这行代码

aMap.setLocationSource(this)//设置了定位的监听,这里要实现LocationSource接口

去掉就可以了

这个结论不够科学。

首先,高德地图,以及百度、腾讯、谷歌等等所有其他地图,都没有获取GPS卫星信号进行定位的能力,而只是利用手机GPS模块的定位成果,因此,把GPS定位是否准确归之于哪个地图,是不科学的。

其次,GPS与WIFI哪个定位更准确,也要分情况。就目前技术水平而言,GPS定位精度一般在2-20米左右,最高可达2米以下,最低一般不会超过200米;而WIFI定位精度是不确定的,有时可能很精确,也可以达到10米级,但通常误差会比较大,误差几百米、几公里,甚至定位到外省市去,都是可能的。

归纳一下,当GPS定位条件差定位误差大,WIFI定位条件好定位误差小的情况下,楼主所说的情况有可能出现。但只是一种偶然现象。