地理编码服务

  1. 概观
  2. 地理编码请求
  3. 地理编码响应
    1. 地理编码结果
  4. 地址组件类型

状态代码 反向地理编码 视口偏置 区码偏置

概观

地理编码地址(如“1600剧场百汇,山景,CA”)转换为地理坐标(如纬度37.423021经度和-122.083739),你可以用它来 ​​放置标志或位置的地图的过程中。

反向地理编码是将地理坐标转换的过程中,成为一个人类可读的地址。

谷歌地图API提供了从用户输入动态地理编码和反向地理编码地理编码类。这些请求速率限制,以防止滥用的服务。相反,如果你想进行地理编码已知的静态地址, 地理编码Web服务文档。

地理编码请求

访问地理编码服务是异步的,因为谷歌地图API需要调用一个外部服务器。出于这个原因,你需要传递一个回调方法来执行的请求完成时。这个回调方法处理的结果(S)。请注意,地址解析器可能返回多个结果。

您在您的代码中访问谷歌地图API地理编码服务通过 google.maps.Geocoder对象。的Geocoder.geocode() 方法启动的请求地理编码服务,通过它一个 GeocodeRequest,对象字面的输入项和一个回调方法执行后收到的响应。

GeocodeRequest对象的文字包含以下字段:

地址: 字符串,经纬度: 经纬度,界限: LatLngBounds ,地区: 字符串
}

下面说明这些字段。

  • 地址需要*) -您要进行地理编码的地址。
  • 的经纬度要求*) - 你想获得最近的地方,人类可读的地址的经纬度
  • 可选) - LatLngBounds内的偏见地理编码结果更加突出。(有关详细信息,请参阅 “视口偏置以下)。
  • 地区可选) -指定的地区代码,作为一个 IANA语言区域的子标签。在大多数情况下,这些标签直接映射到熟悉的)国家和地区代码顶级域名(ccTLD(“顶级域”)两个字符的值。(有关详细信息,请参阅以下地区代码偏置。)

*注意:您可以通过 地址经纬度来查询。(如果你传递一个 经纬度,地理编码进行所谓的一个反向地理编码。有关更多信息,请参见反向地理编码)。

界限区域的参数只会影响,而不是完全限制,从地理编码的结果。

地理编码响应

地理编码服务需要一个回调方法来执行检索时Geocoder的结果。这个回调函数传递两个参数保持的结果状态代码,按照这个顺序。Geocoder只可能返回多个条目,GeocoderResults 反对文字是一个数组。

地理编码结果

GeocoderResults对象文字代表一个单独的地理编码结果和对象是以下形式:

results[]: {types[]: string,formatted_address: string,address_components[]: {short_name: string,long_name: string,types[]: string},geometry: {location: LatLng,location_type: GeocoderLocationTypeviewport: LatLngBounds,bounds: LatLngBounds}
}

这些字段的解释如下:

  • 类型[]是一个数组,指示返回结果的类型。该数组中包含的一组中的一个或多个标签,识别结果中返回的类型的特征。例如,地理编码“芝加哥”返回“位置”,这表明,“芝加哥”,是一个城市,而且还返回“政治”,表示这是一个政治实体。
  • formatted_address是一个字符串,其中包含人类可读的地址,这个位置。通常情况下,这个地址相当于“邮政地址”,有时会因国家不同。(请注意,一些国家,如英国,不要让真正的邮政地址分配,由于许可限制)。该地址通常是由一个或多个地址组成部分。例如,地址“,纽约州,纽约第八大道111”包含“111第八大道”(街道地址),“纽约”(城市)和“NY”(美国的州)的单独的地址组件。注意下面这些地址组件。(类型的更多信息,请参见 下面的类型。
  • address_component []是一个数组,包含单独的地址组件,如上面所解释的。
  • 几何包含以下信息:

    • 位置包含地理编码的经度,纬度值。请注意,我们回到这个位置作为一个经纬度对象的,而不是作为一个格式化字符串。
    • LOCATION_TYPE额外的数据存储在指定的位置。目前支持以下值:
      • google.maps.GeocoderLocationType.ROOFTOP表示返回的结果反映了一个精确的地理编码。
      • google.maps.GeocoderLocationType.RANGE_INTERPOLATED 表示,返回的结果反映的近似(通常在道路上)之间插入两个精确点(如十字路口)。插值结果时,通常会返回屋顶地理编码街道地址是不可用。
      • google.maps.GeocoderLocationType.GEOMETRIC_CENTER 表明返回的结果是如的折线(例如,街道)或多边形(地区)的结果的几何中心的。
      • google.maps.GeocoderLocationType.APPROXIMATE 表明,返回的结果是近似的。
    • 视口存储推荐的视口返回的结果。
    • 边界(可选返回),存储的 LatLngBounds,可完全包含在返回的结果。请注意,这些边界可能不符合推荐的视口。(例如,旧金山的 法 '伦群岛,这在技术上是城市的一部分,但不应该在视口中返回)。

将返回地址的地理编码,使用浏览器的首选语言设置,或指定的语言时加载的API JavaScript中使用的语言参数。(有关详细信息,请参阅 本地化)。

地址组件类型

类型[]数组内返回的结果表示 地址类型。这些类型还可以返回address_components []数组内, 以指示特定的地址分量的类型。在地理编码的地址可能有多种类型,类型可以被认为是“标签”。例如,许多城市的标签,政治地区

支持以下类型和返回的HTTP地址解析器:

  • street_address表示具体的街道地址。
  • 路由表示一个命名的路径(如“美国101”)。
  • 交叉点表示一个主要的路口,通常有两种主要道路。
  • 政治表示一个政治实体。通常情况下,这种类型的表示一些民间管理的多边形。
  • 国家表明国家的政治实体,通常是最高的了Geocoder返回的订单类型。
  • administrative_area_level_1表示低于国家一级的一阶民间实体。在美国,这些行政级别是国家。并非所有国家都表现出这些行政的水平。
  • administrative_area_level_2 表示二阶民间实体低于全国水平。在美国,这些行政级别是县。并非所有国家都表现出这些行政的水平。
  • administrative_area_level_3表示三阶民间实体低于全国水平。这种类型表示轻微的民事审判庭。并非所有国家都表现出这些行政的水平。
  • colloquial_area表示常用的替代名称的实体。
  • 地方表示纳入城市或城镇的政治实体。
  • sublocality表示一阶低于当地的民间实体。
  • 附近表示命名的附近。
  • 前提表示指定的位置,一般的建筑物或建筑物的集合与一个共同的名字
  • subpremise表示一阶实体下面命名的位置,通常是一个奇异的建筑内,建筑物的集合与一个共同的名字。
  • postal_code的表示邮政编码,用于解决在该国邮政邮件。
  • natural_feature表示一个显着的自然特征。
  • 机场表示机场。
  • 公园表示命名的公园。

在除了上述以外,地址的组分可以具有以下类型:

  • post_box表示一个特定的邮箱。
  • street_number表示精确的门牌号码。
  • 表示层的建设地址。
  • 房间表示房的建设地址。

状态代码

状态代码可能返回下列值之一:

  • google.maps.GeocoderStatus.OK表示地理编码是成功的。
  • google.maps.GeocoderStatus.ZERO_RESULTS表明,地理编码是成功的,但没有返回任何结果。这可能是由于地理编码通过了一个不存在的的地址或 latng在一个偏远的位置。
  • 的google.maps.GeocoderStatus.OVER_QUERY_LIMIT表明你是在你的配额。
  • google.maps.GeocoderStatus.REQUEST_DENIED表示,由于某些原因,您的请求被拒绝。
  • google.maps.GeocoderStatus.INVALID_REQUEST通常表明缺少的查询(地址经纬度)。

在这个例子中,我们进行地理编码的地址和一个标记返回的纬度和经度值。需要注意的是传递一个匿名函数,文字处理程序。

   

没有成功的原因:“  + 状态); } }); } < 身体的onload = “初始化()” > < div的id = “map_canvas”的风格= “宽度:320px来电,高 ​​度:480像素;” > </ DIV > <DIV> 输入id = “地址” 类型= “文本框” 值= “悉尼,新南威尔士州” > < 输入类型= “按钮” 值= “编码” 的onclick = “codeAddress()” > < / div>
< / 身体>

查看示例(地理编码simple.html)

反向地理编码(地址查询)

术语地理编码一般是指一个人类可读的地址翻译成地图上的位置。,被称为反向地理编码的过程做相反的,翻译成一个人类可读的地址在地图上的位置 。

Geocoder的直接支持反向地理编码的。,而不是提供一个文本地址经纬度参数,提供一个以逗号分隔的纬度/经度对。

下面的例子进行地理编码的纬度/经度值,并在该位置的地图居中,带来了一个信息窗口,格式化的地址。我们返回第二个结果,这是较不特定于第一个(在这种情况下,一个邻里名称):

    

失败的原因是:“  + 状态); } }); }

请注意,在前面的例子中,我们发现的第二个结果(选择的结果[1] 。反向地理编码器通常会返回多个结果。地理编码“地址”是的不仅仅是邮政地址,但任何方式在地理上的位置命名,例如地理编码点进行地理编码时在芝加哥市的一个点,可能被标记为一个街道地址,城市(芝加哥),其状态(伊利诺伊州),或一个国家(美国)。所有的地址反向地理编码地理编码。返回所有的这些结果。

反向地理编码匹配的政治实体(国家,省,市,街道),街道地址和邮政编码。

前面的查询返回的地址的完整列表如下所示。

[ 0 ]。formatted_address : “275-291贝德福德大道,布鲁克林区,NY 11211,USA” ,
结果[ 1 ]。formatted_address : “威廉斯堡,NY,USA” ,
结果[ 2 ]。formatted_address : “纽约11211,USA “ ,
[ 3 ]。formatted_address : “国王,纽约,美国”
结果[ 4 ]。formatted_address : “布鲁克林,纽约,美国”
结果[ 5 ]。formatted_address : “纽约,纽约,美国”
结果[ 6 ]。formatted_address : “纽约,美国”
结果[ 7 ]。formatted_address : “美国”

最好至少比赛的顺序返回地址。一般情况下,更准确的地址是最突出的结果,因为它是在这种情况下。请注意,我们返回不同类型的地址,从最具体的街道地址,那么具体的政治实体,如邻里,城市,县,州等,如果你想匹配一个更一般的地址,你不妨检查的结果[类型领域。

注:反向地理编码是不是一门精确的科学。地理编码将试图找到最接近的可寻址位置有一定的公差范围内。

查看示例(地理编码reverse.html)

视口偏置

您还可以指示地理编码服务,喜欢在给定的视口(表示为边界框)的结果。你这样做,通过设置 边界参数的GeocodeRequest对象字面定义该视口的范围内。请注意,偏置只 喜欢的边界内的结果;如果存在更多的相关结果这些界限之外,它们也可以包括在内。

例如,地理编码为“旅游Winnetka”通常返回芝加哥郊区的:

{ “类型” :“位置” ,“政治” ,“formatted_address” :“旅游Winnetka,IL,

但是,指定一个的界限参数定义在这个地理编码回国命名为“旅游Winnetka”在该位置附近的洛杉矶圣费尔南多谷的边界框:

{ “类型” :[的“sublocality” ,“政治” ,“formatted_address” :“旅游Winnetka,加利福尼亚州,洛杉矶“ ,“SHORT_NAME” :“洛杉矶” ,“类型” :“administrative_area_level_3” ,“政治” ] },{ “long_name” :“洛杉矶” ,“SHORT_NAME” :“洛

区码偏置

您还可以设置地理编码服务返回的结果偏向于一个特定的地区,明确地使用区域参数。这个参数可以指定一个区域代码,为IANA语言 地区的子标签。在大多数情况下,这些标签直接映射到熟悉的)国家和地区代码顶级域名(ccTLD(“顶级域”)两个字符的值,如“英国”,“co.uk”。在某些情况下,该区域的标签也支持了ISO-3166-1编码,有时不同的国家代码顶级域的值(“GB”为“大不列颠”)。

为每个域的主要的谷歌地图应用程序提供地理编码,地理编码请求可以发送。需要注意的是偏只 喜欢特定域的结果,如果有更多的相关结果这个领域以外的,他们可能会被列入。

例如,地理编码“托莱多”返回这样的结果,作为地理编码服务的默认域设置为美国:

{ “类型” :“位置” ,“政治” ,“formatted_address” :“托莱多,OH,国“ ,“SHORT_NAME” :“美国” ,“类型” :[ “国家” ,“政治” ] }]
}

地理编码的地区“字段中的“托莱多” 设置为 “ES” (西班牙)将返回西班牙城市:

{ “类型” :“位置” ,“政治” ,“formatted_address” :“托莱多,

谷歌地图JavaScript API第3版 地理编码服务相关推荐

  1. html5 百度地图api文档,开发指南--百度地图JavaScript API大众版.doc

    开发指南--百度地图JavaScriptAPI大众版开发指南--百度地图JavaScriptAPI大众版 简介 JavaScript API大众版 JavaScript API功能介绍 百度地图Jav ...

  2. 腾讯地图api_腾讯位置服务JavaScript API GL正式版发布 免费向开发者开放

    近日,腾讯位置服务推出JavaScript API GL正式版,并免费向开发者开放.JavaScript API GL是新一代基于WebGL实现的高性能三维渲染引擎而封装的一套3D版本地图API,是腾 ...

  3. 高德地图JavaScript API开发研究

    高德地图JavaScript API开发研究 原文:高德地图JavaScript API开发研究 高德地图JavaScript API是一套用JavaScript 语言编写的应用程序接口,可以通过各种 ...

  4. html5获取当前位置的api腾讯地图,腾讯地图JavaScript API调用

    腾讯地图JavaScript API调用 1.加载地图 API 页面直接引入 https://map.qq.com/api/js?v=2.exp&key=OB4BZ-D4W3U-B7VVO-4 ...

  5. js室内地图开发_室内地图 JavaScript API

    室内地图JavaScript API文档 V1.2 主要功能类: Map API各种类中的核心部分,用来在页面中创建地图并操纵地图. //示例 初始化地图 var map = new Indoor.M ...

  6. 百度地图JavaScript API GL

    介绍 百度地图JavaScript API GL v1.0是一套由JavaScript语言编写的应用程序接口. 下面通过一个简单的示例,来学习一下快速创建一张"我的地图", 百度地 ...

  7. 百度地图JavaScript API GL 实现车辆轨迹功能

    百度地图JavaScript API GL是百度地图提供的一种基于WebGL技术的地图展示方式.它可以在现代浏览器中以更高效的方式呈现3D地图场景,同时支持自定义图层和动画效果,可以应用于各种地图应用 ...

  8. python调用百度地图api定位_逆地理编码 rgc 反geo检索 | 百度地图API SDK

    使用方法 如不访问境外POI,走以下服务使用流程 编码说明 API请求中需要用到中文或一些特殊字符的参数,如query.region等,为了避免提交到后台乱码,需要对这几个参数值进行编码处理,转换成U ...

  9. 百度地图JavaScript API覆盖物旋转时出现偏移

    在项目中,调用百度地图JavaScript API,做覆盖物的旋转再添加到地图上,结果出现偏移了. 调试过程中的效果图: 发现图片的旋转并不是按车子的中心来的,而是之外的一个点.最后发现犯了一个很细节 ...

最新文章

  1. 什么限制了GNN的能力?首篇探究GNN普适性与局限性的论文出炉!
  2. Python程序设计题解【蓝桥杯官网题库】 DAY15-算法训练
  3. Linux 下安装matlab2014a
  4. iOS百度地图的使用
  5. 表的操作(Oracle和DB2)
  6. 有效的字母异位词---简单
  7. 助力小程序生态发展 “小程序生态孵化社区”成立
  8. Enjoy模板里使用layui模板引擎laytpl
  9. 最佳黑色背景的Visual Studio 2005/2008配置-尤其适合开发人员使用
  10. 源码推荐:多图无缝滚动控件,多视图控制器间切换
  11. Ubuntu16.04安装VirtualBox及无法启动的解决办法
  12. 开源版多用户博客系统
  13. 微信小程序|样式布局篇
  14. PPT要怎么做?需掌握的一些制作设计技巧
  15. 【Matter】解密Matter协议(一)--- 什么是Matter协议?
  16. Win11删除磁盘分区的方法
  17. 京东Q3财报净亏损28亿元,连续亏损,徐雷会下课吗?
  18. 接口测试一般都需要注意哪些方面
  19. php微信段子,微信朋友圈有趣的段子 朋友圈配图
  20. ACwing166数独与183靶形数独

热门文章

  1. ERROR 429: Too Many Requests.
  2. 2020年日历_2020年日历表打印版下载|2020年日历表 打印版 下载 - 巴士下载站
  3. 【太虚AR_v0.1】使用教程 | SLAM(Markerless)
  4. Java引入第三方包
  5. java web视频学习-ServletContext和Request和Response
  6. java timer schedule_Java Timer的使用,timer.schedule定时执行
  7. 绿色版的谷歌浏览器chrome
  8. html5火苗特效代码,视频添加火焰特效 视频画面中加动态的火苗效果
  9. 证明线性空间子空间的基可以扩充为整个空间的基
  10. Tobii pro lab学习笔记1