Loc/get location

跳转到: 导航, 搜索
(使用实例)
(服务请求地址)
第9行: 第9行:
 
==  '''服务请求地址''' ==
 
==  '''服务请求地址''' ==
  
<nowiki> http://api.map.sina.com.cn:80/loc/get_location.(json|xml)</nowiki>
+
<nowiki> http://api.map.sina.com.cn/loc/get_location.(json|xml)</nowiki>
  
 
==  '''使用实例''' ==
 
==  '''使用实例''' ==

2011年3月28日 (一) 18:22的版本

目录

API简介

定位服务根据客户端提供的一系列定位依据数据,通过计算获取一个固定的位置。定位依据主要包括客户端可以检测到的基站或者WIFI相关数据。本文档的主要目的,就是描述如何使用该接口发送定位依据数据至服务器,然后如何解析从服务器返回的位置数据。需要注意的是,客户端与服务器的通讯采用HTTP的方式请求,数据用POST方式向服务器请求,接口接收和返回的数据都是JSON格式,这里要注意的一点是,请求的Content-Type请使用application/json。

定位覆盖范围

目前定位服务只主要支持中国大陆地区。


服务请求地址

http://api.map.sina.com.cn/loc/get_location.(json|xml)

使用实例

客户端请求以及服务器返回举例说明如下

请求定位数据格式

 {
 "version": "1.1.0",
 "source":1433233234
 "host": "api.map.sina.com.cn:80/loc/",
 "radio_type": "gsm",
 "request_address": true,
 "decode_pos":true,
 "location": {
   "latitude": 39.08943,
   "longitude": 116.36843
   "accuracy" :678.0
 },
 "cell_towers": [
   {
     "cell_id": 4466,
     "location_area_code": 26630,
     "mobile_country_code": 460,
     "mobile_network_code": 0,
     "signal_strength": -60,
   },
   {
     "cell_id": 4466,
     "location_area_code": 25054,
     "mobile_country_code": 460,
     "mobile_network_code": 0,
     "signal_strength": -70,
   }
 ],
 "wifi_towers": [
   {
     "mac_address": "00:0B:86:27:99:B0",
     “mac_name”:"Sina-web",
     "signal_strength": 78,   
   },
   {
     "mac_address": "00:0B:86:28:7B:F0",
     “mac_name”:"CMCC",
     "signal_strength": 90,
   }
 ]
 }

服务器返回数据格式(JSON格式)

 {
 "location": {
   "longitude": 116.30951,
   "latitude": 39.98384,
   "accuracy": 49,
   "altitude": 0,
   "altitude_accuracy": 0,
   "address": {
     "province ": "北京市",
     "city": "北京市",
     "citycode": "0010"
     "district": "海淀区",
     "addr": "海淀北二街10",
   }
 },
 }

服务器返回数据格式(XML格式)

<?xml version="1.0" encoding="UTF-8"?> <geoSearchResult><location>

   <longitude>116.30951</longitude>
   <latitude>39.98384</latitude>
   <accuracy>49</accuracy>
   <altitude></altitude>
   <altitude_accuracy></altitude_accuracy>
  <address>
     <province>北京市</province>
     <city>北京市</city>
     <citycode>0010</citycode>
     <district>海淀区</district>
     <addr>海淀北二街10</addr>
  </address>

</location></geoSearchResult>

请求数据格式说明

对请求数据的详细说明如下:

名称 描述 是否必须 数据类型
version 新浪定位版本标识,目前我们只提供 "1.1.0"版,以前的版本停止定位服务 string
host 定位的服务器地址 string
source 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份 string
radio_type 移动通讯类型说明 (gsm,cdma,wcdma) string
request_address 是否请求对应坐标的位置描述 boolean
decode_pos 标识返回的位置是否需要经过偏移加密 boolean
location 位置对象,详见下说明 object
cell_towers 基站数据描述对象,详见下说明 array
wifi_towers WIFI数据描述对象,详见下说明 array


位置对象


名称 描述 是否必须 数据类型
latitude 当前定位的纬度数据(WGS84 datum) double
longitude 当前定位的经度数据(WGS84 datum) double


基站数据对象


名称 描述 是否必须 数据类型
cell_id 基站标识的唯一标识,GSM网络的CID,CDMA网络的BID int
location_area_code 小区号标识数据,GSM网络的LAC,CDMA网络的NID int
mobile_country_code 移动国家编码,GSM网络和CDMA都是MCC int
mobile_network_code 网络标识,GSM网络的MNC,CDMA网络的SID int
signal_strength 当前基站广播的信号强度,单位是DBM int


WIFI数据对象,WIFI对于定位这个过程不是必须的,但是对于采用WIFI定位来说,mac_address这个参数是必须的。


名称 描述 是否必须 数据类型
mac_address WIFI结点(路由器)的MAC地址 String
mac_name WIFI结点(路由器)的名称 String
signal_strength 当前WIFI广播的信号强度,单位是DBM int

服务器返回数据说明

服务器定位成功后,会将定位结果返回客户端,如果定位没有成功,返回结果为空。

名称 描述 是否必须 数据类型
latitude 定位结果的纬度数据 double
longtitude 定位结果的经度数据 double
altitude 定位结果的海拔高度测量数据 double
accuracy 定位的水平误差,接口定位的结果是以90%的置信度进行计算,一般情况下该值是必须的 double
altitude_accuracy 定位的垂直误差,接口定位的结果是以90%的置信度进行计算 double
address 如果请求的时候,选择返回位置,则会有该项。但如果经过计算,无法查找该值,则返回为空 object


地址对象格式定义的具体说明

名称 描述 是否必须 数据类型
addr 地址的具体地址,如海淀北二街89号 string
district 定位结果所在区号 string
city 定位结果所在城市 string
province 定位结果所在省 string
citycode 定位结果所在城市的编码,如北京‘0010’ string