Address
Resolution
Protocol)
则是对应与ARP的反向解析
ARP(地址解析协议)是设备通过自己知道的IP地址来获得自己不知道的物理地址的协议。假如一个设备不知道它自己的IP地址,但是知道自己的物理地址,网络上的无盘工作站就是这种情况,设备知道的只是网络接口卡上的物理地址。希望通过MAC地址来获取IP地址,RARP(逆地址解析协议)正是针对这种情况的一种协议。
它允许局域网的物理机器从网关服务器的
ARP
表或者缓存上请求其
IP
地址。网络管理员在局域网网关路由器里创建一个表以映射物理地址(MAC)和与其对应的
IP
地址。当设置一台新的机器时,其
RARP
客户机程序需要向路由器上的
RARP
服务器请求相应的
IP
地址。假设在路由表中已经设置了一个记录,RARP
服务器将会返回
IP
地址给机器,此机器就会存储起来以便日后使用。
希望能对您有所帮助!
一、地址解析地址解析,是用户输入一个详细到门牌号的地址。例如“北京市中关村南大街27号中央民族大学”,那么地址解析接口,会返回一个经纬度Point。
接口定义如下:
getPoint(address:String, callback:Function, city:String)
对指定的地址进行解析。如果地址定位成功,则以地址所在的坐标点Point为参数调用回调函数。否则,回调函数的参数为null。city为地址所在的城市名,例如“北京市”。
代码示例:
// 创建地址解析器实例
var myGeo = new BMap.Geocoder()
// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("北京市海淀区上地10街", function(point){
if (point) {
map.centerAndZoom(point, 16)
map.addOverlay(new BMap.Marker(point))
}
}, "北京市")
运行该示例,请点击:http://openapi.baidu.com/map/examples.html?v=1.1&7_12#7&12
二、反地址解析
反地址解析,就是传进去一个经纬度Point,它会返回一个详细的地址。具体地址有多详细,就要看百度数据库里的数据了。
接口定义如下:
getLocation(point:Point, callback:function[, options:LocationOptions])
对指定的坐标点进行反向地址解析。如果解析成功,则回调函数的参数为GeocoderResult对象,否则回调函数的参数为null。
代码示例:
var gc = new BMap.Geocoder()
map.addEventListener("click", function(e){
var pt = e.point
gc.getLocation(pt, function(rs){
var addComp = rs.addressComponents
alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber)
})
})
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)