文档管理中心

网络定位(API)

功能介绍

主要实现了定位请求功能,包含了室内定位、室外定位。提供HTTPS接口,数据为JSON格式。

场景描述

在Web页面端可以通过发送请求获取定位数据。

使用约束

企业开发者:需要开通付费,并打开定位服务开关

接口原型

承载协议

HTTPS POST

接口方向

开发者 -> 华为定位服务器

接口URL

{rootUrl}/networklocation/v1/geoLocation

说明

当前rootUrl使用域名:locationapi-drcn.cloud.huawei.com。

数据格式

请求消息:Content-Type: application/json

响应消息:Content-Type: application/json

请求参数

Request Header

展开

参数

是否必选

参数类型

描述

Authorization

String

业务签名,用于认证鉴权,格式为:Bearer+空格+API Key

示例:Bearer CgB6e3x9JPgs67R9。

Content-Type

String

固定值:application/json。

X-Request-ID

String

请求事务标识,用于端到端关联场景,可用UUID生成。

示例:182c1658-120c-4c42-b113-ec33d8f5b9ce。

Accept-Encoding

String

填gzip,表示能接受返回值为gzip的压缩数据。

x-forwarded-for

String

将IP通过x-forwarded-for传递(仅开启IP定位需要)。

Content-Encoding

String

填gzip,表示此次请求数据已经过gzip压缩。

X-Device-Type

String

设备类型(枚举值)。

  • handset 手机
  • pad 平板
  • watch 手表
  • kidwatch 儿童表
  • tv 电视
  • mobiletv 移动智慧屏幕
  • glass 眼镜
  • earphone 耳机
  • car 汽车

Request Body

展开

参数

是否必选

参数类型

描述

boottime

long

发起定位时的手机开机时间,单位:微秒。

indoorMode

int

  • 0:先室内再室外
  • 1:室内
  • 2: 仅室外

默认值为0。

considerIp

String

在没有Wi-Fi和基站信号的情况下是否使用IP定位能力。
  • 0:关闭
  • 1:打开

如果使用IP定位,需要将IP通过x-forwarded-for传递,返回值为所属城市中心的经纬度信息。

networkType

int

移动网络接入时需要添加cellInfos参数,Wi-Fi接入时需要添加wifiInfos参数。

  • 0:移动网络接入
  • 1:Wi-Fi接入

默认不填。

wifiInfos

1、indoorMode为1时,wifiInfos必选。

2、indoorMode为0且considerIp为空时,wifiInfos与cellInfos不能同时为空。

3、indoorMode为0且considerIp不为空时,wifiInfos与cellInfos可以为空。

List<WifiInfo>

Wi-Fi热点对象的数组,最大取值为120个。

cellInfos

List<CellInfo>

多卡的Cell指纹信息,定位时只要找到其中一个即可,最大取值为3个。

needAddress

String

是否需要逆地理编码,传1时表示需要逆地理编码结果。

reverseGeocode

ReverseGeocode

逆地理编码相关参数,如果不传,使用默认值。

WifiInfo

展开

参数

是否必选

参数类型

描述

mac

long

路由器MAC地址,去冒号后16进制转10进制的结果。

rssi

int

路由器RSSI。

time

long

发起定位时的手机开机到请求定位的时间,单位:微秒。

frequency

int

扫描到的Wi-Fi频段信息。

  • 2.4GHz取值范围:[2401, 2499]
  • 5GHz取值范围:[4901, 5899]

CellInfo

展开

参数

是否必选

参数类型

描述

currentCell

CurrentCellEntity

卡1服务小区对象。

neighborCells

List<NeighborCell>

卡1周边基站的对象数组,数组最多传8个对象。

建议尽量多的添加,以提高定位精度。

CurrentCellEntity

展开

参数

是否必选

参数类型

描述

mcc

int(length<3)

移动国家码。取值范围:[0,999)。

mnc

int(length<2)

移动网络码。取值范围:[0,999)。

lac

int(length<11)

区域码。

取值范围:5G:[0,16777215],非5G:[0,65535]。

cellId

long

小区ID。

取值范围:5G:[0,68719476735],4G:[0,268435455],3G:0,268435455],2G:[0,65535]。

rssi

int(length<3)

信号强度,取值范围:(-140, 0),单位:dB。

值越大,信号越强。

rat

int(length<1)

网络制式,1表示2G,2表示3G,3表示4G,4代表5G。

NeighborCell

展开

参数

是否必选

参数类型

描述

rssi

int(length<3)

信号强度,取值范围:(-140, 0),单位:dB。值越大,信号越强。

cNum

int(length<11)

Channel number,通道号。

pId

int(length<11)

physicalIdentity,物理标识。

ReverseGeocode

展开

参数

是否必选

参数类型

描述

language

String

搜索结果返回的语言。如果不传,返回地点的当地语言。

radius

int

POI、门址召回范围半径,单位:米 。取值范围:[0, 50]。

returnPoi

String

是否返回POI,默认为true。

取值范围:0 / false:不返回POI,1 / true:返回POI。

网络定位请求示例

收起
自动换行
深色代码主题
复制
  1. POST /networklocation/v1/geoLocation HTTPS/1.1
  2. Authorization: ***
  3. Content-Type: application/json
  4. {
  5. "boottime":
    21003173582
    ,
  6. "indoorMode":
    0
    ,
  7. "cellInfos":[
  8. {
  9. "currentCell":{
  10. "cellId":
    93734471
    ,
  11. "lac":
    9798
    ,
  12. "mcc":
    460
    ,
  13. "mnc":
    0
    ,
  14. "rat":
    3
    ,
  15. "rssi":
    -88
  16. }
  17. }
  18. ],
  19. "wifiInfos":[
  20. {"mac":
    137179207280289
    ,"rssi":
    -66
    ,"time":
    21003173582
    },
  21. {"mac":
    137179207265777
    ,"rssi":
    -79
    ,"time":
    21003145372
    },
  22. {"mac":
    137179207266930
    ,"rssi":
    -88
    ,"time":
    21003134322
    },
  23. {"mac":
    137179207265570
    ,"rssi":
    -65
    ,"time":
    21003127590
    },
  24. {"mac":
    39678750262768
    ,"rssi":
    -71
    ,"time":
    21002554597
    }
  25. ]
  26. }

响应参数

Response Header

展开

参数

是否必选

参数类型

描述

Content-Type

String

固定值:application/json。

Content-Encoding

String

使用gzip压缩时会返回。

content-length

Integer

取值不固定。

Response Body

展开

参数

是否必选

参数类型

描述

errorCode

String

返回码,具体请参见错误码

errorMsg

String

返回值描述。

locateType

String

本次定位的类型。

indoor

Integer

是否室内。

  • 0:室外
  • 1:室内

position

Location

响应的定位信息。

extraInfo

OnlineLocationResponseExtraInfo

在线定位的附加信息。

sites

List<Site>

逆地理编码信息。

Location

展开

参数

是否必选

参数类型

描述

lat

Double

纬度。

lon

Double

经度。

acc

Float

精度。

speed

Double

速度,单位:米。

bearing

Float

方向角,取值范围:[0°, 360°)。

buildingId

String

室内定位,建筑物ID。

floor

Integer

室内定位,楼层ID。

floorAcc

Integer

室内定位,楼层置信度。

time

Long

手机开机时间。

flags

Integer

描述各位置参数是否有效,0表示无效,1表示有效。从右向左:

  • 第1位表示lat_lon的有效位
  • 第2位表示高度的有效性
  • 第3位表示速度的有效位
  • 第4位表示方向角的有效性
  • 第5位表示acc的有效性

示例:数值17对应二进制10001,表示lat_lon和acc参数有效,其他参数无效。

indoorFlag

Integer

室内结果标志位,透传上次室内定位结果中的此字段值。

mode

Integer

定位模式。(0:室外,1:室内)。

locateType

String

定位类型(Wifi/Cell)。

OnlineLocationResponseExtraInfo

展开

参数

是否必选

参数类型

描述

cellExtraInfo

CellExtraInfo

Cell定位附加信息。

wifiExtraInfo

WifiExtraInfo

Wi-Fi定位附加信息。

indoorLocalLocation

Location

室内定位局部定位结果,复用Location类,speed和bearing为空或为0.0。

indoorGlobalLocation

Location

室内定位全局定位结果,复用Location类,speed和bearing为空或为0.0。

optionalLocation

List<Location>

不同定位方式的定位结果。当定位结果>1个时存在该字段。

CellExtraInfo

展开

参数

是否必选

参数类型

描述

resultCode

Integer

响应码。

extraPosition

Location

Cell定位结果。

cellDetails

List<Integer>

表示哪些Cell参与了定位,对应请求体中Cell的index。

WifiExtraInfo

展开

参数

是否必选

参数类型

描述

resultCode

Integer

响应码。

extraPosition

Location

Wi-Fi定位结果。

macDetails

List<Integer>

表示哪些Wi-Fi参与了定位,对应请求体中Wi-Fi的index。

Site

展开

参数

是否必选

类型

说明

siteId

String

地点的唯一主键。

name

String

地点名称。

formatAddress

String

格式化的地点详细地址。

aoiFlag

boolean

如果地点是AOI数据(带有面属性的POI数据),则该字段标识为true。

address

AddressDetail

地址详细信息。

location

Coordinate

地点的经纬度。

viewport

CoordinateBounds

地点的视口范围。

poi

Poi

如果地点是POI类型,返回POI信息。

AddressDetail

展开

参数

是否必选

类型

说明

countryCode

String

国家/地区码,采用ISO 3166-1 alpha-2。

country

String

国家名。

adminArea

String

国家下面的一级行政区,一般是省/州。

subAdminArea

String

国家下面的二级行政区,一般是市。

tertiaryAdminArea

String

国家下面的三级行政区。

city

String

城市,推荐使用city。

locality

String

城市。

subLocality

String

区/县。

streetNumber

String

街道号。

thoroughfare

String

街道名。

postalCode

String

邮政编码。

Corrdinate

展开

参数

是否必选

类型

说明

lat

double

纬度,取值范围:[-90, 90]。

lng

double

经度,取值范围:[-180, 180]。

CorrdinateBounds

展开

参数

是否必选

类型

说明

northeast

Coordinate

东北角的位置。

southwest

Coordinate

西南角的位置。

Poi

展开

参数

是否必选

类型

说明

poiTypes

String[]

POI类型。

hwPoiTypes

String[]

华为POI分类体系,取值范围请参见HwLocationType

phone

String

电话号码。

internationalPhone

String

国际电话号码。

rating

double

评分。

websiteUrl

String

网址。

openingHours

OpeningHours

营业时间。

photoUrls

String[]

图片地址。

图片存在小,中,大三种规格,通过拼接后缀访问,拼接示例:photoUrl/small.jpg。

  • small.jpg
  • medium.jpg
  • large.jpg

childrenNodes

ChildrenNode[]

POI的子节点信息。

icon

String

POI图标地址。

comments

  

POI的评论信息。

OpeningHours

展开

参数

是否必选

类型

说明

texts

String[]

每个星期的开放时间段的描述。

periods

Period[]

开放时间段的详细说明。

Period

展开

参数

是否必选

类型

说明

open

TimeOfWeek

开放时间。

close

TimeOfWeek

关闭时间。

TimeOfWeek

展开

参数

是否必选

类型

说明

week

int

  • 0:星期日
  • 1:星期一
  • 2:星期二
  • 3:星期三
  • 4:星期四
  • 5:星期五
  • 6:星期六

time

String

24小时制时间,hhmm格式。

ChildrenNode

展开

参数

是否必选

类型

说明

siteId

String

位置ID。

name

String

地点名称。

formatAddress

String

格式化的地点详细地址。

location

Coordinate

地点的经纬度。

hwPoiTypes

String[]

华为分类体系。

domeAndInt

String

航站楼的国内/国际信息,取值包括:

  • 1:国内
  • 2:国际
  • 3:国内和国际

depAndArr

String

航站楼的出发/到达信息,取值包括:

  • 1:出发
  • 2:到达
  • 3:出发和到达

Comment

展开

参数

是否必选

类型

说明

starInfo

StarInfo

评分统计信息。

commentInfo

CommentInfo

评论信息。

StarInfo

展开

参数

是否必选

类型

说明

averageRating

String

平均分。

CommentInfo

展开

参数

是否必选

类型

说明

total

int

总数。

网络定位响应示例

收起
自动换行
深色代码主题
复制
  1. POST /networklocation/v1/geoLocation HTTPS/1.1
  2. Authorization: ***
  3. Content-Type: application/json
  4. {
  5. "indoor": 1,
  6. "errorCode": "0",
  7. "position": {
  8. "acc": 2.0327091,
  9. "bearing": 0.0,
  10. "floorAcc": 100,
  11. "flags": 17,
  12. "lon": 113.86621853300373,
  13. "speed": 0.0,
  14. "buildingId": "0113866338022881255",
  15. "mode": 0,
  16. "time": 21002864090,
  17. "floor": 1,
  18. "indoorFlag": 0,
  19. "lat": 22.880871929243877
  20. },
  21. "locateType": "Wifi",
  22. "extraInfo": {
  23. "indoorGlobalLocation": {
  24. "acc": 2.0327091,
  25. "floorAcc": 100,
  26. "flags": 0,
  27. "lon": 113.86621853300373,
  28. "buildingId": "0113866338022881255",
  29. "mode": 0,
  30. "time": 21002864090,
  31. "floor": 1,
  32. "lat": 22.880871929243877
  33. },
  34. "optionalLocation": [
  35. {
  36. "acc": 28.174469,
  37. "lon": 113.86617278408688,
  38. "locateType": "Wifi",
  39. "mode": 0,
  40. "lat": 22.88106407226497
  41. }
  42. ]
  43. },
  44. "sites": [
  45. {
  46. "formatAddress": "环湖路15",
  47. "address": {
  48. "country": "中国",
  49. "city": "东莞市",
  50. "countryCode": "CN",
  51. "tertiaryAdminArea": "松山湖",
  52. "adminArea": "广东省",
  53. "subAdminArea": "东莞市",
  54. "thoroughfare": "环湖路"
  55. },
  56. "viewport": {
  57. "southwest": {
  58. "lng": 113.86457594697711,
  59. "lat": 22.879518266794406
  60. },
  61. "northeast": {
  62. "lng": 113.86733685302289,
  63. "lat": 22.88206193320559
  64. }
  65. },
  66. "name": "华为溪流背坡村A区A4栋",
  67. "aoiFlag": false,
  68. "siteId": "542350318413311232",
  69. "location": {
  70. "lng": 113.8659564,
  71. "lat": 22.8807901
  72. },
  73. "poi": {
  74. "hwPoiTypes": [
  75. "COMMERCIAL_BUILDING"
  76. ],
  77. "rating": 0.0,
  78. "icon": "https://contentcenter-drcn.dbankcdn.com/pub_1/HuaweiMaps_camp_0_9/36/v3/WCMal0QwQzm1zkJrnlpFOA/Large_Building.png",
  79. "internationalPhone": "",
  80. "poiTypes": [
  81. "POINT_OF_INTEREST"
  82. ]
  83. }
  84. }
  85. ]
  86. "errorMsg": "Success"
  87. }
在 API参考 中进行搜索
请输入您想要搜索的关键词