目录

腾讯地图API 2

1.API概览... 2

1.1 WebService API(官网注明是beta版本,可能不稳定,慎用):... 2

1.2 URL API:... 2

1.3 静态图API:... 2

1.3 JavaScript API V2:... 2

1.4 另外还有Android SDK, Android 定位SDK,和IOS SDK,主要用于手机端开发。     2

2. 下面重点讲解JavaScript API V2:... 3

2.1最简单的地图-显示一张以坐标为中心的地图制作为例:... 3

2.2下面简单讲解几个重要的类、搜索服务。... 3

2.2.1.Map地图核心类: 3

2.2.2. qq.maps.LatLng 坐标类... 4

2.2.3. qq.maps.Marker 标注类... 4

2.2.4.Convert坐标转换类... 5

2.2.5. qq.maps.place.Autocomplete 智能提示类... 5

2.2.6. qq.maps.Geocoder 地址-经纬转换类... 6

2.2.7. qq.maps.SearchService Poi搜索服务类... 6

2.2.8. qq.maps.TransferService 公交换乘方案服务类... 7

2.2.9. qq.maps.LineService公共交通线路详情服务类... 8

2.2.10. qq.maps.DriveService驾车路线获取服务类... 8

2.2.11. qq.maps.event 对象... 9

2.3 地图的四大重要功能... 9

2.3.1 关键字搜索... 9

2.3.2 兴趣点搜索... 9

2.3.3 导航... 10

2.3.4 地址~经纬坐标解析... 10

腾讯地图API

1.API概览

1.1 WebService API(官网注明是beta版本,可能不稳定,慎用):

因为JS不支持跨域访问,所以最好在后端c#处理:发出请求(可以按需指定方法、参数)=》后端c#获取回复信息=》后端c#处理信息,或交给前端js再次处理。

适用于将查询到的信息储存或其他非显示的操作,如写入数据库、传给其他程序等。

链接:http://open.map.qq.com/webservice_v1/index.html

1.2 URL API:
    可以直接在浏览器中输入链接地址+参数,即可打开腾讯地图功能并看到地图,之后便可以操作。

一般用法是

<iframe src="http://apis.map.qq.com/uri/v1/search?keyword=酒店&region=北京&referer=tengxun">

</iframe>

或者用js重新打开一个网页,location地址为:链接地址+参数。

链接:http://open.map.qq.com/uri_v1/index.html

1.3 静态图API:

适用于只需要显示简单一张地图图片(显示中心点、打上标志),而没有拖拉、再次搜索或处理的功能。

一般用法是在前端html页面中写入标签:<img src="http://st.map.qq.com/api?size=604*300&center=116.39782,39.90611&zoom=16" /> 即可显示出该静态图片,可以按需指定参数。

链接:http://open.map.qq.com/static_v1/index.html

1.3 JavaScript API V2:

是一套功能最完整的API,主要使用JS编写代码、显示,支持手持式设备、PC页面。

链接:http://open.map.qq.com/javascript_v2/doc/index.html

1.4 另外还有Android SDK, Android 定位SDK,和IOS SDK,主要用于手机端开发。

2. 下面重点讲解JavaScript API V2:

主要资源:

开发指南(入门了解):http://open.map.qq.com/javascript_v2/guide.html

参考手册(编码实现):http://open.map.qq.com/javascript_v2/doc/index.html

示例写法(各种方法、操作的简单示例):http://open.map.qq.com/javascript_v2/demo.html

2.1最简单的地图-显示一张以坐标为中心的地图制作为例:

Step 1:建立html或者apsx网页,在<body>主体新建<div id="container">,该div用来放置地图显示。务必指定长宽样式,API不会自动控制该大小,否则地图不显示(因为div大小为0)。

Step2:在网页<head>处引入Tencent Map Js: <script charset="utf-8" src="http://map.qq.com/api/js?v=2.exp&key=YOUR_KEY"></script>

其中key=YOUR_KEY申请免费,可以不写但是强烈建议写上。具体详见:

http://open.map.qq.com/javascript_v2/guide.html下的Key鉴权部分。

Step3:写地图js代码,并设置<body onload="init()">

//声明地图全局变量,方便使用

var map;

//初始化函数,页面载入时加载

function init() {

//新建一个(纬,经)坐标

var center = new qq.maps.LatLng(39.916527, 116.397128);

//将地图显示在div container上

map = new qq.maps.Map(document.getElementById('container'), {

center: center, //指定地图中心

zoom: 18   //缩放级别,范围0-18,18放大倍数最高

});

}

这样完成了第一个地图应用,启动页面即可看到效果。

全部代码见: 最简单的地图Demo.htm

2.2下面简单讲解几个重要的类、搜索服务。

2.2.1.Map地图核心类:

详见http://open.map.qq.com/javascript_v2/doc/map.html

API中的核心类,用来在网页中创建一个地图。

new qq.maps.Map(mapContainer, options);

参数:

mapContainer : {HTMLDIVElement | string}

options : {MapOptions}

注意MapOptions,详见http://open.map.qq.com/javascript_v2/doc/mapoptions.html

几个重要属性:

名称

类型

说明

center

LatLng

初始化地图中心坐标

zoom

Number

初始化地图缩放级别

noClear

Boolean

如果为 true,在初始化地图时不会清除地图容器内的内容

boundary

LatLngBounds

boundary规定了地图的边界,当拖拽超出限定的边界范围后,会自动移动回来

mapTypeId

MapTypeId

地图类型ID

2.2.2. qq.maps.LatLng 坐标类

详见http://open.map.qq.com/javascript_v2/doc/latlng.html

以纬度和经度表示的地理坐标点

构造函数:LatLng(lat:Number, lng:Number)

在地图中表示一个点,可用作地图中心、标注、目标起始点。需要注意的是tencent map 的坐标并不等于标准的WGS84坐标,事实上每个地图厂商的坐标都有一定偏移算法,需要转换,若腾讯地图的坐标用到百度地图上,需要转换,详见“2.2.5.Convert转换类”。

2.2.3. qq.maps.Marker 标注类

详见http://open.map.qq.com/javascript_v2/doc/marker.html

在map上显示标志。

构造函数,Marker(options:MarkerOptions),MarkerOptions属性如下:

名称

类型

说明

animation

MarkerAnimation

 

clickable

Boolean

 

draggable

Boolean

 

flat

Boolean

 

map

Map

 

position

LatLng

 

//在地图上显示marker

var marker = new qq.maps.Marker({

map: map,

position: new latLng(Number, Number)

});

//清除地图上的marker

function clearOverlays(markersArr) {

var marker;

while (marker = markersArr.pop()) {

markers.setMap(null);   //解除绑定关系

}

}

2.2.4.Convert坐标转换类

详见http://open.map.qq.com/javascript_v2/doc/convertor.html

将标准经纬度或其他地图经纬度转换为腾讯地图经纬度坐标。只含一个静态方法。

方法

返回值

说明

translate(points:LatLng | Point | Array.<LatLng> | Array.<Point>, type:Number, callback:Function)

none

将其他地图服务商的坐标批量转换成搜腾讯地图经纬度坐标。type用于说明是哪个服务商的坐标。 type的可选值为 1:gps经纬度,2:搜狗经纬度,3:百度经纬度,4:mapbar经纬度,5:google经纬度,6:搜狗墨卡托。

2.2.5. qq.maps.place.Autocomplete 智能提示类

详见http://open.map.qq.com/javascript_v2/doc/autocomplete.html

务必引入

<script type="text/javascript"

src="https://maps.google.com/maps/api/js?sensor=false&libraries=places">

</script>

文本输入的智能提示。

构造函数

Autocomplete(inputElement:HTMLElement, options?:AutocompleteOptions)

2.2.6. qq.maps.Geocoder 地址-经纬转换类

详见http://open.map.qq.com/javascript_v2/doc/geocoder.html

用于在地址和经纬度之间进行转换的服务。

构造函数

Geocoder(opts?:GeocoderOptions)

方法

返回值

说明

getAddress(latlng:LatLng)

none

根据指定的坐标进行解析。

getLocation(address:String)

none

根据指定的地址进行解析。

setComplete(callback:Function)

none

设置检索成功后的回调函数。参数对象:{type:ServiceResultType.GEO_INFO,detail:Object.}

setError(callback:Function)

none

设置检索失败后的回调函数。

2.2.7. qq.maps.SearchService Poi搜索服务类

详见http://open.map.qq.com/javascript_v2/doc/searchservice.html

用于进行本地检索、周边检索关键字地址就或兴趣点(如“影院”,“加油站”)等服务。

构造函数:SearchService(opts?:SearchServiceOptions)

SearchServiceOptions全部属性:

名称

类型

说明

complete

Function

检索成功的回调函数。参数对象:{type:ServiceResultType,detail:Object.|AreaInfo>}

error

Function

检索失败的回调函数

pageIndex

Number

页码。

pageCapacity

Number

每页的结果数。

location

String

默认检索范围。

map

Map

展现结果的地图实例。

panel

String | HTMLDivElement

展现结果的HTML容器id或元素。将搜索结果按次序显示在此,可点击。

SearchService方法:

方法

返回值

说明

search(keyword:String)

none

根据关键字发起检索。

searchInBounds(keyword:String, latlngBounds:LatLngBounds)

none

根据范围和关键字进行指定区域检索。

searchNearBy(keyword:String,center:LatLng, radius:Number)

none

根据中心点坐标、半径和关键字进行周边检索。

搜索周边的必备函数。

setLocation(location:String)

LatLng

设置默认检索范围(默认为全国),类型可以是坐标或指定的城市名称,如:“北京市”。

2.2.8. qq.maps.TransferService 公交换乘方案服务类

详见:http://open.map.qq.com/javascript_v2/doc/transferservice.html

用于获取公交换乘线路方案的服务。

构造函数

TransferService(opts?:TransferServiceOptions)

方法

返回值

说明

search(start:String | Poi | LatLng, end:String | Poi | LatLng)

none

发起公交换乘检索。 - start: 起点,参数可以是关键字、Poi实例,或者LatLng坐

2.2.9. qq.maps.LineService公共交通线路详情服务类

详见: http://open.map.qq.com/javascript_v2/doc/lineservice.html

用于检索一条公交线路详情信息的服务。

构造函数

LineService(opts?:LineServiceOptions)

方法

返回值

说明

searchById(lineId:String)

none

根据给定的公交线路Id,进行公交线路信息检索,得到该公交线路的详细信息。

2.2.10. qq.maps.DriveService驾车路线获取服务类

详见:http://open.map.qq.com/javascript_v2/doc/drivingservice.html

用于获取两个或多个位置之间驾车路线的服务。

 

DrivingService(opts?:DrivingServiceOptions)

方法

返回值

说明

search(start:String | Poi | LatLng, end:String | Poi | LatLng)

none

发起驾车路线检索。 - start: 起点,参数可以是关键字、Poi实例,或者LatLng坐标。 - end: 终点,参数可以是关键字、Poi实例,或者LatLng坐标。

setPolicy(policy:DrivingPolicy, time:String)

none

设置本次获取驾车路线的策略。 - time是时间,当且仅当policy为PREDICT_TRAFFIC时生效,格式为"day mm:ss",例如“0 05:30”代表周日上午5点30分。day为星期,0代表周日,1—6代表周一至周六。mm:ss为24小时制,预测时间以半小时为间隔。

clear()

none

清空当前结果在map和panel中的展现。

2.2.11. qq.maps.event 对象

用作为地图、控件、等其他对象附加事件,但还需自己实现方法。

方法

返回值

说明

addDomListener(element:HTMLElement, eventName:String, handler:Function)

MapsEventListener

绑定Dom事件

addDomListenerOnce(element:HTMLElement, eventName:String, handler:Function)

MapsEventListener

绑定Dom事件,触发一次后自动移除该绑定

addListener(instance:Object, eventName:String, handler:Function)

MapsEventListener

注册对象事件

addListenerOnce(instance:Object, eventName:String, handler:Function)

MapsEventListener

注册对象事件,触发一次后自动移除该事件

removeListener(listener:MapsEventListener)

none

删除指定的事件侦听器

clearListeners(instance:Object, eventName:String)

none

删除该对象上指定事件的所有侦听器

trigger(instance:Object, eventName:String, var_args:*)

none

触发指定对象的指定事件

2.3 地图的四大重要功能

2.3.1 关键字搜索

有地区范围性若有多个符合点则列表显示。一般用名称为SearchService,LocalSearch服务类,需要设定搜索范围,结果绑定在地图或者div上,或者自己写js代码解析结果数组并用html显示.

2.3.2 兴趣点搜索

通常是在某地点附近搜索相关产业,比如在火车站附近搜索酒店,在景区附近搜索餐馆。一般有个范围,比如半径1000m之类,或者某个商区、行政区附近。一般用名称为SearchService,LocalSearch服务类的searchInBounds(),searchNearby()的方法。

2.3.3 导航

分为步行、公交、驾车,一般用名称为TrafficRoute、DriveService的服务类,需要设定起始地(为关键字或者经纬度),还有不走高速、最短距离等条件通常在该服务类的构造函数中指定Options。若存在不明确的地方需要再次选择。结果自动绑定在地图或者div上,或者自己写js代码解析结果数组并用html显示(高德地图智能自己写代码)。

2.3.4 地址~经纬坐标解析

用Geocoder服务类的GetPoint(),实现地址=>经纬度的解析。

或GetLocation(),实现经纬度=>地址的解析,俗称逆解析。

地图API文档的更多相关文章

  1. 必应地图api文档,微软必应地图web开发版详解,可以在国内使用国外地图

    最近,公司项目要求在页面中嵌入地图,需求还算简单,但是由于必须具备响应式(主要是pc和移动端),而且由于公司业务是全球性的,要支持国外地点搜索.考虑到百度,腾讯,高德等等国内地图无法显示国外数据,谷歌 ...

  2. 百度地图api文档实现任意两点之间的最短路线规划

    两个点之间的路线是使用“Marker”点连接起来的,目前还没找到改变点颜色的方法,测试过使用setStyle没有效果. <html><head> <meta http-e ...

  3. 微信小程序API 文档快速参考索引

    内容那么多,这个页面到底做了什么? 第一:解决微信文档APi文档使用不便: 第二:解决了内容搜索与索引:—— 最好是写成全文索引文档,但是比较需要时间,而且更新是一件麻烦的事:所以以下是直接 连接官网 ...

  4. (转载)中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  5. 中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  6. Java在DOS命令下的运行及其API文档制作过程

    该文档主要描述java程序在DOS命令下的运行,以及一些常用的命令 常用DOS命令: d: 回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 md (make direct ...

  7. 在ASP.NET Core Web API上使用Swagger提供API文档

    我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...

  8. 利用sphinx为python项目生成API文档

    sphinx可以根据python的注释生成可以查找的api文档,简单记录了下步骤 1:安装 pip install -U Sphinx 2:在需要生成文档的.py文件目录下执行sphinx-apido ...

  9. 如何使 WebAPI 自动生成漂亮又实用在线API文档

    1.前言 1.1 SwaggerUI SwaggerUI 是一个简单的Restful API 测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON 配置显示API. 项目本身仅仅也只依赖 ...

随机推荐

  1. Spark之Streaming

    1. socket消息发送 import java.net.ServerSocket import java.io.PrintWriter import scala.collection.mutabl ...

  2. LoadRunner监控Linux

    rstat协议允许网络上的用户获得同一网络上各机器的性能参数. 需要下载3个包:    (1)rsh-0.17-14.i386.rpm     (2)rsh-server-0.17-14.i386.r ...

  3. ubuntu安装python一些安装包

    sudo apt-get install python-pip sudo pip install distribute sudo pip install nose sudo pip install v ...

  4. python gui之tkinter事件处理

    事件一览表 事件 代码 备注 鼠标左键单击按下 1/Button-1/ButtonPress-1   鼠标左键单击松开 ButtonRelease-1   鼠标右键单击 3   鼠标左键双击 Doub ...

  5. 音频DAC剖析---解开HI-FI音质的秘密

    选自:http://mp3.zol.com.cn/54/547689.html 无论我们是买MP3.MP4也好,实际上我们的数码播放器最经常使用的就是音乐播放功能,所以数码播放器的音质,一直是消费者的 ...

  6. c++写入txt文件

    简单方式: #include "stdafx.h" #include <iostream> #include <iomanip> #include < ...

  7. espcms列表页ajax获取内容 - 并初始化swiper

    <link rel="stylesheet" href="swiper.min.css" type="text/css" media= ...

  8. 【GoLang】golang中可以直接返回slice吗?YES

    结论: 可以,slice本质是结构体,返回slice时返回的是结构体的值,结构体的指针.len.cap等信息也全部返回了. 如下: type slice struct { start *uintptr ...

  9. poj 1700

    http://poj.org/problem?id=1700 题目大意就是一条船,有N个人需要过河,求N个人最短过河的时间 #include <stdio.h> int main() { ...

  10. Python中用format函数格式化字符串的用法

    这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下   自python2. ...