腾讯位置服务入门

使用腾讯位置服务

腾讯位置服务专属邀请码: HTDRFLH
专属邀请链接

  1. 点击申请一个Api key
  2. 进行地图样式设计和配额在这里插入图片描述
    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=关键字&region=北京&referer=应用名"&key=你申请的api key></iframe>

适用平台 面向浏览器:WebPC版腾讯地图、移动端浏览器H5版腾讯地图。 面向移动端APP:Android版腾讯地图、iOS版腾讯地图。

  • Web端调用api
    引用地址 https://apis.map.qq.com/uri/v1/
    • 指定启用的功能及该功能需要设定的参数。格式:method?param=value[&param=value&…]
      其中,method是方法名,具体支持的方法有:
      search,地点/公交搜索,周边搜索;
      routeplan,路线规划,包括公交、驾车;
      geocoder,逆地址解析;
      marker,地点标注;
      streetview,街景展示。
      示例 https://apis.map.qq.com/uri/v1/search?keyword=酒店&region=北京&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()时,地图也将进行销毁。

猜你喜欢

转载自blog.csdn.net/weixin_44313584/article/details/111313335