免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(原创)谷歌地图地理解析和反解析geocode.geocoder详解作者:yanue 发表于: 六月 09, 2012 分类:Google Map, 原创专区 标签:地理解析 10回应浏览 8,997热度地址解析就是将地址(如:贵州省贵阳市)转换为地理坐标(如经度:106.71,纬度:26.57)的过程。地理反解析和上面的过程相反是将地理坐标(如纬度:26.57,经度:106.71)转换为地址(中国贵州省贵阳市南明区翠微巷7号 邮政编码: 550002)的过程。受当地法律限制及各方面原因,国内很多地图并不包含地理解析和反解析功能(地理解析和反解析功能功能不够强悍),Google永远是最棒的。废话不多说要使用到Google map 地理解析和反解析功能,我们需要了解google.maps.Geocoder类,谷歌地图给我们提供了强大的api,下面我们来实现i.数据请求:其中需要进行请求的数据GeocoderRequest可为4种属性:属性类型描述addressstring需要解析的地名. 可选.boundsLatLngBounds经纬度搜索范围. 可选.(我没有具体试用过)locationLatLng(注意类型)需要解析的经纬度. 可选.regionstring国家代码. 可选.(我没有具体试用过)对于解析我们使用address,反解析使用location(注意传入的类型),请求的话,至少选择一种。ii:结果处理:而对于回掉函数(即解析后返回的处理函数)包含两个内容,GeocoderResult(解析结果,数组类型)和GeocoderStatus(解析状态)1.解析状态是使用Geocoder()进行解析后返回的状态,包含5种:ERROR(谷歌地图服务可能出错)INVALID_REQUEST(GeocoderRequest无效,即输入的请求是错误的,可能是没有选择,或者属性写错)OK(解析完成,并有相应数据)OVER_QUERY_LIMIT(响应超时)REQUEST_DENIED(网页被禁止geocoder解析)UNKNOWN_ERROR(未知错误)ZERO_RESULTS(零结果)我们能用的就是状态为OK的情况2.解析结果属性类型描述address_componentsArray.GeocoderAddressComponents数组formatted_addressstring格式化后的最佳匹配地址(地名可小到街道)geometryGeocoderGeometryGeocoderGeometry对象typesArray.一个表示返回的地理编码元素的类型的字符串数组其中每一次解析成功后都会有上面的信息,我们最需要的就两样formatted_address和geometry。而address_components是一个地名数组,包含long_name(比如只返回省市名称),short_name和types,可以自己去试一下。a. 格式化后的地名formatted_address,只需直接调用即可b.geometry返回一个GeocoderGeometry 对象,其中又包含有4个属性PropertiesTypeDescriptionboundsLatLngBounds解析出来的精确的界限locationLatLng纬度/经度坐标location_typeGeocoderLocationType返回的location类型viewportLatLngBounds解析结果的视图范围至此,所有关于地理解析和反解析就差不多说明完了,具体api参见/maps/documentation/javascript/reference#Geocoder。感觉说的好晕!基于此我做了一个关于批量解析和反解析的应用,详见:/geo.html,/toLatLng .使用详解:/archives/207.html ,下面我们来实例一下实例代码:(你有必要复制到本地试一下)谷歌地图地理解析和反解析geocode.geocoder详解window.onload = function() /初始化地图var map = new google.maps.Map(document.getElementById(map_canvas),center : new google.maps.LatLng(26.57, 106.72),zoom : 8,mapTypeId : google.maps.MapTypeId.ROADMAP);/实例化Geocoder服务var geocoder = new google.maps.Geocoder();/1.地理解析过程/请求数据GeocoderRequest为address,值为贵阳geocoder.geocode(address:贵阳,function geoResults(results, status) /这里是回掉函数(即结果处理函数) /状态为Ok说明有结果 if (status = google.maps.GeocoderStatus.OK) /一般情况下会有多个结果 /第一个结果为最佳匹配的结果(匹配地名最全的结果),这里只去第一个,其他的可以根据需要自己循环出来 /格式化过后的地址 alert(地理解析结果:+results0.formatted_address); /geometry是一个包含bounds(界限),location(纬度/经度坐标),location_type和viewport(视图范围) /获取解析后的经纬度 alert(地理解析结果:+results0.geometry.location); else alert(:error + status); );/2.地理反解析过程/请求数据GeocoderRequest为location,值类型为LatLng因此我们要实例化经纬度geocoder.geocode(location:new google.maps.LatLng(26.57, 106.72),function geoResults(results, status) /这里处理结果和上面一模一样 if (status = google.maps.Ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年冷链评估数字化运营成熟度评估报告
- 企业文化建设方案与执行记录手册
- 2026年文化旅游项目合同
- 汽车维修客户服务标准流程手册
- 员工绩效评估和激励方案工具
- 简历制作技巧与范本下载合集
- 房地产项目风险控制与开发流程优化
- “互联网+”创新创业大赛计划书范本
- 英语专业核心词汇学习手册
- 外国文学作品中英双语阅读解析
- 《国际货代基础》 课件 项目四任务二 认识航空集装器
- 冷链公司财务管理制度
- 《国际物流学 第2版》-张良卫 习题及解答
- T/CBMCA 020-2021地铺石瓷砖
- 护理药物给药率规范与管理
- 职业技术学院发电厂及电力系统专业《电力系统综合自动化》课程标准
- 涂装车间安全培训课件
- T-CACM 1362-2021 中药饮片临床应用规范
- 西医诊所药械管理制度
- AI辅助人类学田野考察与研究创新-全面剖析
- (二诊)成都市2022级2025届高中毕业班第二次诊断性检测英语试卷(含标准答案)
评论
0/150
提交评论