百度API根据经纬度取地址问题

百度API根据经纬度取地址问题,第1张

利用百度地图api通过城市地址等信息取经纬度

原创 2016年05月18日 10:25:01

标签:

百度地图 /

微信 /

api /

url /

json

21454

标红的是可以通过经纬度获得当前城市信息(微信定位使用)。

Geocoding API有哪些功能?

Geocoding API包括地址解析和逆地址解析功能。

地址解析是指,由详细到街道的结构化地址得到百度经纬度信息,且支持名胜古迹、标志性建筑名称直接解析返回百度经纬度。例如:“北京市海淀区中关村南大街27号”地址解析的结果是“lng:11631985,lat:39959836”,“百度大厦”地址解析的结果是“lng:11630815,lat:40056885”

逆地址解析是指,由百度经纬度信息得到结构化地址信息。例如:“lat:31325152,lng:120558957”逆地址解析的结果是“江苏省苏州市虎丘区塔园路318号”。注意:

1因为Geocoding和反Geocoding使用的门址数据以及算法都不是一样的,所以会出现不能一一对应的现象。

2解析过程中可能会出现一对坐标值对应多个地址门牌信息,本接口将返回距离坐标点最近的一个地址门牌信息。

使用限制

目前无任何使用限制。请申请key,然后使用该接口。

如何使用

第一步,申请key,点击这里获取密钥,申请key需要注册百度账号;

第二步,拼写发送>

第三步,接收>

服务地址

>

>

备注:

1 city属于可选参数,通常情况可以不使用,若解析无结果,请尝试增加此字段。

2 支持名胜古迹、标志性建筑物名称解析返回百度经纬度坐标,如address=“百度大厦”。

3 支持使用“路与路交叉口”方式解析返回百度经纬度坐标,若地址库中存在该地址描述,返回百度经纬度坐标。

4 若解析status字段为OK,若结果内容为空,原因分析及可尝试方法:

5 特别提醒:逆地址解析location参数传入的参数格式是(纬度lat,经度lng)。

接口参数

参数

是否必须

默认值

格式举例

含义

output    否    json    json或xml    输出格式为json或者xml  

address    是    无    北京市海淀区上地十街10号    根据指定地址进行坐标的反定向解析  

location    是    无    3876623,11643213

lat<纬度>,lng<经度>    根据指定坐标来进行地址的解析  

city    否    “北京市”    “广州市”    地址所在的城市名  

key    是    无    8cb976834235d8cbcde2dce4835ae191    用户申请注册的key  

上表中address和location两个字段如果同时出现,则优先选择address执行地理编码功能。对于address字段可能会出现中文或其它一些特殊字符(如:空格),所以对于类似的字符都要进行编码处理,编码成 UTF-8 字符的二字符十六进制值,凡是不在下表中的字符都要进行编码。

字符集合

字符

URL非保留字    a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 – _ ~  

URL保留字    ! ‘ ( ) ; : @ & = + $ , /  % # [ ]  

附注:

(1) javascript中一般采用encodeURIComponent函数对特殊字符进行编码。

(2) Java中可以使用函数URLEncoderencode对特殊字符进行编码。

(3) C#中可以使用函数>

(4) php中可以使用函数urlencode对特殊字符进行编码。

返回数据说明

返回结果(地址解析的结果)

{status: '字符串状态常量', 取值如下:

//OK 成功

INVILID_KEY 非法密钥

INVALID_PARAMETERS 非法参数,参数错误时候给出。

result: {

location: {

lat: 纬度:数值,

lng: 经度:数值

},

precise:’位置的附加信息,是否精确查找’(1为精确查找,0为不精确查找),

confidence: 可信度,

level:'级别'

},

}

返回结果(反地址解析的结果)

{status: '字符串状态常量', 取值如下:

//OK 成功

INVILID_KEY 非法密钥

INVALID_PARAMETERS 非法参数,参数错误时候给出。

result: {

location: {

lat: 纬度:数值,

lng: 经度:数值

},

formatted_address: ‘详细地址描述’,

business: '周围商圈',

addressComponent:{

city:’城市名称’,

district: ‘区县名称’,

province:’省份名称’,

street: ‘街道名称’,

streetNumber: '门牌号码'

},

cityCode: '城市代码'

}

}

接口示例

根据详细地址获取坐标

>

//根据“上地十街10号”返回坐标“lng:116307175, lat:40057098”,以json格式输出

>

//根据“上地十街十号”返回坐标“lng:116307175, lat:40057098”,以xml格式输出

在指定城市内检索详细地址的坐标

>

// 在北京市内根据“上地十街10号”返回坐标“lng:116307175, lat:40057098”,以json格式输出

>

// 在北京市内根据“上地十街10号”返回坐标“lng:116307175, lat:40057098”,以json格式输出

根据特定建筑物获取它的坐标

>

>

>

//根据“北一环路和阜阳路的交叉路口”名称返回坐标“lng:117294364, lat:31885558”,以json格式输入

>

//根据“北一环路和阜阳路的交叉路口”名称返回坐标“lng:117294364, lat:31885558”,以xml格式输入

根据坐标获取它的地址

>

//解析“lat:39983424, lng:116322987”坐标返回“北京市海淀区中关村大街27号1101-08室”,以json格式输出

>

//解析“lat:39983424, lng:116322987”坐标返回“北京市海淀区中关村大街27号1101-08室”,以xml格式输出

地址库里无此数据,本次结果为空。

加入city字段重新解析;

将过于详细或简单的地址更改至省市区县街道重新解析;

逆地址解析:根据坐标获取地址

地址解析:根据地址获取坐标

百度地址>

API是应用程序接口, 所以在应用级

直接与硬件打交道的是WINDOWS DDK, 设备驱动开发包,

这个开发包处理硬件

欲了解更详细的细节, 请参考CSDN:

比如:>

怎么查找,微软的东西,微软在线帮助都很全,API链接如下:

>

public class getInfo

{

/// <summary>

/// 获取CPU序列号

/// </summary>

/// <returns>CPU序列号(string类型 )</returns>

public string getCpuID()

{

string cpuInfo =" ";

ManagementClass cimobject = new ManagementClass("Win32_Processor");

ManagementObjectCollection moc = cimobjectGetInstances();

foreach (ManagementObject mo in moc)

{

cpuInfo = moProperties["ProcessorId"]ValueToString();

}

return cpuInfoToString();

} /// <summary>

/// 获取硬盘ID

/// </summary>

/// <returns>返回硬盘ID(string类型) </returns>

public string getHDid()

{

string HDid = " ";

ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");

ManagementObjectCollection moc1 = cimobject1GetInstances();

foreach (ManagementObject mo in moc1)

{

HDid = (string)moProperties["Model"]Value;

}

return HDidToString(); } /// <summary>

/// 获取网卡硬地址

/// </summary>

/// <returns>返回网卡硬地址(string类型)</returns>

public string GetMoAddress()

{

string MoAddress =" ";

ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

ManagementObjectCollection moc2 = mcGetInstances();

foreach (ManagementObject mo in moc2)

{

if ((bool)mo["IPEnabled"] == true)

{

MoAddress = mo["MacAddress"]ToString();

moDispose();

}

}

return MoAddressToString();

}

}</p>我空间日志写过,希望能帮到你

该程序演示了如何用鼠标来获得任何像素的RGB颜色。该程序使用了计时器,间隔设置为001秒来捕捉事件,使用了GetPixel

,

GetCursorPos

和GetDC

WinAPI调用,来获得屏幕上任何地方的像素的颜色。

option

Explicit

'在表单中加入计时器,使用鼠标移动到屏幕上任何一处,RGB颜色就会显示在表单中的Caption中

'

private

Type

POINTAPI

x

as

Long

y

as

Long

End

Type

'

private

Declare

Function

GetPixel

Lib

"gdi32"

(byval

hdc

as

Long,

_

byval

x

as

Long,

byval

y

as

Long)

as

Long

private

Declare

Function

GetCursorPos

Lib

"user32"

(lpPoint

as

POINTAPI)

as

Long

private

Declare

Function

GetWindowDC

Lib

"user32"

(byval

hwnd

as

Long)

as

Long

'

private

Sub

Form_Load()

Timer1Interval

=

100

End

Sub

'

private

Sub

Timer1_Timer()

Dim

tPOS

as

POINTAPI

Dim

sTmp

as

string

Dim

lColor

as

Long

Dim

lDC

as

Long

'

lDC

=

GetWindowDC(0)

Call

GetCursorPos(tPOS)

lColor

=

GetPixel(lDC,

tPOSx,

tPOSy)

Label2BackColor

=

lColor

'

sTmp

=

Right$("000000"

&

Hex(lColor),

6)

Caption

=

"R:"

&

Right$(sTmp,

2)

&

"

G:"

&

mid$(sTmp,

3,

2)

&

"

B:"

&

Left$(sTmp,

2)

End

Sub

至于获取当前窗口,可以使用

Public

Declare

Function

GetForegroundWindow

Lib

"user32"

()

As

Long

获取当前活动窗体的句柄,再使用GetWindowText的API能获取到相应的标题啦!

Public

Declare

Function

GetForegroundWindow

Lib

"user32"

()

As

Long

Public

Declare

Function

SendMessage

Lib

"user32"

Alias

"SendMessageA"

(ByVal

hwnd

As

Long,

ByVal

wMsg

As

Long,

ByVal

wParam

As

Long,

lParam

As

Any)

As

Long

Public

Const

WM_GETTEXT

=

&HD

Public

Function

GetWin()

As

String

Dim

tmp

As

Long

Dim

iLen

As

Long

Dim

Txt

As

String

tmp

=

GetForegroundWindow

Txt

=

String(255,

Chr(0))

iLen

=

SendMessage(tmp,

WM_GETTEXT,

Len(Txt),

ByVal

Txt)

Txt

=

Left(Txt,

iLen)

GetWin=Txt

End

Function

以上代码是获取当前窗体的标题代码!(这里没使用GetWindowText的API)

以上就是关于百度API根据经纬度取地址问题全部的内容,包括:百度API根据经纬度取地址问题、VB6怎么调用API函数(高分)、linux的api函数哪里有,C和C++怎么调用API等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9277916.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存