使用腾讯位置服务
腾讯位置服务专属邀请码: HTDRFLH
专属邀请链接
- 点击申请一个Api key
- 进行地图样式设计和配额
3.创建地图对象时,通过MapOptions 参数初始化地图的个性化样式
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>个性化地图</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<style type="text/css">
html,body{
width:100%;
height:100%;
}
*{
margin:0px;
padding:0px;
}
body {
font: 12px/16px Verdana, Helvetica, Arial, sans-serif;
}
#container{
min-width:600px;
min-height:767px;
}
</style>
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=6LLBZ-QMLCX-HNA4L-T3ADN-4O3V5-BFFLB"></script>
<script>
window.onload = function () {
function init() {
// 创建地图
var map = new qq.maps.Map(document.getElementById("container"), {
center: new qq.maps.LatLng(39.916527, 116.397128), // 地图的中心地理坐标
zoom: 8, // 地图缩放级别
mapStyleId: 'style1' // 该key绑定的style1对应于经典地图样式,若未绑定将弹出无权限提示窗
});
}
//调用初始化函数
init();
}
</script>
</head>
<body>
<!-- 定义地图显示容器 -->
<div id="container"></div>
</body>
</html>
URI API(地图调起)
通过接口调用腾讯位置服务
可以直接在浏览器中输入链接地址+参数,即可打开腾讯地图功能并看到地图,之后便可以操作。一般用法是
<iframe src="http://apis.map.qq.com/uri/v1/search?keyword=关键字®ion=北京&referer=应用名"&key=你申请的api key></iframe>
适用平台 面向浏览器:WebPC版腾讯地图、移动端浏览器H5版腾讯地图。 面向移动端APP:Android版腾讯地图、iOS版腾讯地图。
- Web端调用api
引用地址https://apis.map.qq.com/uri/v1/
- 指定启用的功能及该功能需要设定的参数。格式:
method?param=value[¶m=value&…]
其中,method是方法名,具体支持的方法有:
search,地点/公交搜索,周边搜索;
routeplan,路线规划,包括公交、驾车;
geocoder,逆地址解析;
marker,地点标注;
streetview,街景展示。
示例https://apis.map.qq.com/uri/v1/search?keyword=酒店®ion=北京&referer=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
- 指定启用的功能及该功能需要设定的参数。格式:
说明:https://apis.map.qq.com/uri/v1/
是引用地址,search是方法名,keyword、region、referer是参数名
- 地点标注和搜索
调用示例https://apis.map.qq.com/uri/v1/marker?marker=coord:39.892326,116.342763;title:标注点名称;addr:地址&referer=myapp
该示例将调用Web(或Wap)地图产品的地点标注功能,在地图上坐标为coord处加标注。用户点开还可以看title、addr等详情,注意:纬度在前,经度在后,两值之间用英文逗号分隔。 - 街景
方法名:streetview
pano 必填 街景场景ID pano=10011005120205135839100
heading 偏航角度:与正北夹角度数,取值范围:0-360 |北:0°东:90°南:180°西:270°
pitch 俯仰角度:正上方为 -90 度,正下方为 90 度,水平为0度
referer 必填 调用来源,一般为您的应用名称; referer=您的应用名;
zoom 初始化地图缩放级别
调用示例 :https://apis.map.qq.com/uri/v1/streetview?pano=街景场景ID&heading=偏航角度&pitch=俯仰角度&zoom=1&referer=您的应用名
WebService API
腾讯地图WebService API是基于HTTPS/HTTP协议的数据接口,开发者可以使用任何客户端、服务器和开发语言,按照腾讯地图WebServiceAPI规范,按需构建HTTPS请求,并获取结果数据(目前支持JSON/JSONP方式返回)。
腾讯WebService API文档
示例,返回的是JSON数据,可以直接使用
https://apis.map.qq.com/ws/place/v1/search?boundary=region(北京,0)&keyword=KFC&page_size=20&page_index=1&orderby=_distance&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
- IP定位等功能
// GET请求,注意参数值要进行URL编码
https://apis.map.qq.com/ws/location/v1/ip?ip=61.135.17.68&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
//响应示例:
{
"status": 0,
"message": "query ok",
"result": {
"ip": "202.106.0.30",
"location": {
"lng": 116.407526,
"lat": 39.90403
},
"ad_info": {
"nation": "中国",
"province": "",
"city": "",
"adcode": 110000
}
}
}
Android地图SDK
推荐使用AndroidStudio作为开发工具。
腾讯地图 SDK 在 AndroidStudio 中的工程配置方法
创建基础地图视图
提供三种视图类型,分别是:
- MapView 普通地图视图
- TextureMapView 纹理化地图视图
- MapRenderLayer 地图渲染层容器
不同地图视图类型的差异
视图类型 | 内部实现 和性能 |
---|---|
MapView | GLSurfaceView 高性能 |
TextureMapView | TextureView 中性能 |
MapRenderLayer | Surface+GLThread 外部控制 |
通过MapView创建地图
MapView mapView = new MapView(context);
parentView.addView(mapView);
通过TextureMapView创建地图
TextureMapView mapView = new TextureMapView(context);
parentView.addView(mapView);
通过MapRenderLayer创建地图
SurfaceTexture surface = ...;
TencentMapOptions mapOptions = new TencentMapOptions();
mapOptions.setExtSurface(surface);
mapOptions.setExtSurfaceDimension(900, 900);
MapRenderLayer mapView = new MapRenderLayer(context, mapOptions);
parentView.addView(mapView);
获取地图
创建地图视图成功之后,通过视图对象可以直接获取地图实例
MapView mapView = ...;
//获取地图实例
TencentMap mTencentMap = mapView.getMap();
//第一次渲染成功的回调
mTencentMap.setOnMapLoadedCallback(new OnMapLoadedCallback() {
public void onMapLoaded() {
//地图正常显示
}
});
销毁地图
地图创建之后,与应用的生命周期绑定,应用触发onDestroy()时,地图也将进行销毁。