使用步骤
1.登录腾讯位置服务控制台,如果没有注册过账号,请点击注册按钮注册成为腾讯位置服务开发者
2.创建应用和Key:
进入控制台后,展开应用管理菜单并选择我的应用
点击右侧创建应用,如果已经创建过应用,可以直接选择添加Key
Javascript API GL并不需要勾选任何产品,直接创建Key就可以使用(在引入API库时需要将key做为参数传入)
Hello world!
下面为您演示利用Javascript API GL实现地图显示,使您对它有一个整体的认识,而具体的细节将在hello world之后为您详细阐述。
代码展示了显示地图的一般步骤: 1.在body中预先准备地图容器,并在CSS样式中定义地图(容器)显示大小 2.引入API库 3.创建并显示地图的代码(本例中,通过页面onload事件触发运行init函数实现地图显示) 而在实际的项目中,可以根据需求,实现动态创建地图容器、异步加载地图API、动态设置地图中心点等任意操作。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Hello world!</title>
<style type="text/css">
#container{
/*地图(容器)显示大小*/
width:1200px;
height:400px;
}
</style>
<!--引入Javascript API GL,参数说明参见下文-->
<script src="https://map.qq.com/api/gljs?v=1.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"></script>
<script>
//地图初始化函数,本例取名为init,开发者可根据实际情况定义
function initMap() {
//定义地图中心点坐标
var center = new TMap.LatLng(39.984120, 116.307484)
//定义map变量,调用 TMap.Map() 构造函数创建地图
var map = new TMap.Map(document.getElementById('container'), {
center: center,//设置地图中心点坐标
zoom: 17.2, //设置地图缩放级别
pitch: 43.5, //设置俯仰角
rotation: 45 //设置地图旋转角度
});
}
</script>
</head>
<!-- 页面载入后,调用init函数 -->
<body onload="initMap()">
<!-- 定义地图显示容器 -->
<div id="container"></div>
</body>
</html>
加载Javascript API GL
通过引入script标签加载API服务,格式如下:
<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=YOUR_KEY"></script>
其中:https://map.qq.com/api/gljs 为API库地址,其参数包括:
key:您的开发key,可在 控制台 -> 应用管理 -> 我的应用 界面进行创建得到
v :代表引用的版本号,目前仅支持1.exp,代表Javascript API GL v1最新版,我们会保证1.x大版本的接口兼容,让您获得最新最快的支持。
libraries:用来指明加载的附加库,可以指定多个附加库名称,名称之间用英文半角字符逗号","分隔,目前支持:
visualization:可视化组件库(查看详情),将位置数据转化为可视图像的工具,比如热力图、散点图等。
tools:应用工具,包含一系列点、线、面绘制与编辑的交互工具,以及距离测量工具;
geometry:几何计算库,进行距离、夹角、面积的计算,判断点、线、面之间的关系等;
model:模型库,可支持GLTF模型加载至地图中;
view:地图视角附加库,附加库提供以观察者视角操作地图的能力;
service:服务类附加库,是基于腾讯地图开放平台 WebService API封装的接口能力;
其它附加库我们会在后续版本中陆续提供,敬请期待。
callback:指定异步加载API后的回调函数,见下文详述(直接引入API时请勿加此参数)
异步加载API: 通过动态创建script标签,并指定callback参数,在API加载后会自动调用callback指定回调函数,实现异步加载(按需加载)
function initMap() {
//定义地图中心点坐标
var center=new TMap.LatLng(39.984120,116.307484)
//定义map变量,调用 TMap.Map() 构造函数创建地图
var map = new TMap.Map(document.getElementById('container'), {
center: center,//设置地图中心点坐标
zoom:17.2, //设置地图缩放级别
});
}
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://map.qq.com/api/gljs?v=1.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&callback=initMap";
document.body.appendChild(script);
}
window.onload = loadScript;
不再支持file://方式使用Javascript API GL: 本API需要在有Web服务的情况下才能正常使用,Windows环境可以使用IIS或其它Web服务器软件,Linux可用apache/nginx等,配置完成后通过localhost进行调试使用(发布上线,用域名/ip访问不存在这个问题):
使用地图组件库
如果您的项目使用了Vue或者React框架,建议使用tlbs-map地图组件库开发地图业务,它支持Vue和React框架,能够降低您的开发成本。
其它说明
坐标系: 腾讯位置服务API使用的坐标体系,为国测局规定的GCJ-02坐标系,是国内的标准坐标体系,经过国家测绘局加密处理,符合国家测绘局对地理信息保密要求。如果原始数据是使用的GPS坐标或其它地图坐标系,则需要进行坐标转换,否则显示位置将会和实际位置有偏差。 具体操作请参照:https://lbs.qq.com/service/webService/webServiceGuide/webServiceTranslate 。
坐标格式: JavaScript API GL使用的坐标格式是{纬度, 经度},即纬度在前,经度在后,如果在使用API过程中,发现地图无法显示,请先查看坐标格式是否正确。从其它几家API切换过来的用户尤其要注意这个区别。