没有合适的资源?快使用搜索试试~ 我知道了~
首页使用 XSLT、KML 和 Google Maps API 在地图上覆盖数据
资源详情
资源评论
资源推荐
使用 XSLT、KML 和 Google
Maps API 在地图上覆盖数据,
第 1 部分: 利用 Google
Geocoder Web 服务
使用 Google Geocoder 查找邮政编码和坐标并将其存储在数据
库中
级别: 中级
自由撰稿人
年 月 日
了解 的 服务,它接收街道地址,返回包括经度和纬度的地址信息。在这个分为两部分的系列文章中,您将把它与
和 !"#结合使用,以生成在 和 $%中显示的数据覆盖图。您
将为房地产经纪公司创建一个示例应用程序,该程序允许经纪人在一个 &#"表单中录入公寓列表,
使用 的 服务将那些地址转换为经度和纬度,然后从公寓列表的数据库中创
建 '"覆盖图。在第一部分中,从用户中收集公寓列表信息来构建应用程序的前半部分,使用
的 服务将街道地址转换为地理坐标(经度和纬度),并将坐标和地址信息
存储在数据库中。
Google Maps、Google Earth 和 Geocoder
已经成为网络上随处可见的地图技术,它使用户可以快速生成地图、进行拖动和缩
放,以及对视线范围内的街道以 ()度视角进行浏览。$%提供了一本详细的地球 (*百
科全书,允许以各种高度对地球图像进行拖动和缩放。使用 !可以在自己的 页面中嵌入 。'"是一种用来描述
地理信息(例如地标)的 "语言,它可以将可视文本数据覆盖到地图上。您也可以在 $%中导入 '"数据,根据用户的拖动和缩放在
$%中显示自己的 (*数据。
例如,%乐团通过下载发行他们的最新专辑 “#%!+,并发布使用 $%和 '"生成的地理下载信息,如图 所示。
图 1. Nine Inch Nails 的专辑 “The Slip” 的下载信息,用 Google Earth 和 KML 显示
文档选项
打印本页
将此页作为电子邮
件发送
样例代码
英文原文
本系列的其他文章
使用 !"# 、 '" 和
在地图上覆盖数据,第
部分:利用
服务
使用 !"# 、 '" 和
在地图上覆盖数据,第
部分:转换和使用数据
这个概念暗示可以使用 的 和 '"。在 '"中的下载点的经度和纬度上创建一条线,线条的高度表示该位置的下载记录数量,这些线条的
高度是海拔 到与该位置的下载数量成比例的海拔高度之间的距离。
该可视化中缺少的一个关键细节是将地球上客户地址(或至少是邮政编码)转换为地理坐标的能力,因为所有自定义的 '"数据都使用经度、纬度和
海拔坐标在地球上定位。
为解决这一问题,近期提出了 服务,它接收街道地址,返回以任意精度表示的地址的 '"数据,包括经度和纬度在
内。只要得到这些坐标,您就能创造性地发挥想象力,在 *地图和 (*球体上覆盖文本和可视数据。
回页首
Google Maps API 和 Geocoder 服务入门
要使用 和 的 服务,必须首先注册一个 地图 键(参见 参考资料 获得链接),指定发送
请求(可以注册任意多个键或 ,-")的 站点的 ,-"。结果页面包含 键和一个起始 &#"页面,页面中包含显示 地图的必要
.!。地图的核心是 .!的 load()函数(参见清单 ),页面载入时调用该函数。
清单 1. 在页面中显示 Google 地图的 JavaScript 函数
/0123
/14561223
.6751068$6491:6:22;
6815""1(8<<=>8<=2(2;
?
?
该函数确保浏览器能够显示 地图,创建一个地图对象(Gmap2),并在页面中为其提供 &#"元素作为地图的容器(“6+)。然后使用
GLatLng1经度@纬度2参数对象将地球上的一个坐标设置为它的中心,并将缩放深度(高度)指定为 (。图 显示了生成的地图。
图 2. 在起始页面中显示的 Google 地图
用 KML 提供覆盖图数据
可以使用 .!!覆盖自定义数据,例如在某位置创建几个书签,或覆盖一些带颜色的多边形和线段。然而,对于更复杂的数据
(确切地说,包含更多数据点的数据)则需要使用 '"文档。'"文档可以确定地址、地球上的 (*坐标,以及地图上已覆盖的自定义文本和可视数
据,或地球上的 (*模型等地理信息。
要为 提供 '"数据,必须使用 服务器有权访问的 ,-"获取 '",所以必须提供服务器端的 '"。在本系列的文章中,可以
使用服务器端的 !"#,将数据库信息转换为可提交给 和 $%的 '"文件,从而显示自定义数据。
在数据库中存储 Geocoder 数据
在 !和 $%中,地址的经度和纬度是很有用的。但是,要获得这些数据,必须调用 的 服务。这需要
一些时间,所以,在数据库中存储地址时,必须同时存储地址的经度和纬度。采用该方法,您可以查询数据库,直接生成 ",并使用 !"#将返回的
数据直接转换为可以在地图上覆盖的 '"。
为实现这些功能,可以使用两种方法调用 服务:
在数据库中记录信息之前调用 服务器端
在提交含有用户地址信息的表格之前,使用 提供的 .!库调用
从 PHP 调用 Geocoder
首先,从 &调用 ,并使用 !6 "模块遍历结果。recordListing()函数接收记录房地产经纪公司的公寓列表的请求参数,调用
服务,并利用结果来获得邮编和地址的地理坐标,然后在数据库中记录所有的信息(参见清单 )。
清单 2. recordListing()函数 (PHP)
/0"1AA06A9A
A#9AA23
A751BB"$C!CC'$D2;
A07A>E/%1AA9A2;
@@0%60%00%0
/1A0>E0912F0GG**-$!!23
%55$H1:%.0%09%8:2;
?
@@%
"*1AA06A9A
A0>EI12
A0>E"012
A0>E"012
A#9AA2;
?
清单 中的代码演示了 结果信息的另一种使用方法 — 数据完整性检查。的结果包括 09度,测量输入的规范性。这
里,"12使用该精度进行度量 1在下面的 清单 < 中,将讨论更详细的信息2以确保信息符合规范,可以存储到数据库。
GoogleGeocoder 类
为确保代码重用,在 GoogleGeocoder类中封装对 的调用(参阅清单 ()。
清单 3. GoogleGeocoder 类 (PHP)
3
.A'9;
.A,7J%G@@6886@6@KJ;
0/0CC01A'923
A%>E'97A'9;
?
0/0/%1AA9A23
@@/10662
A/07A%>E1AA9A2;
@@%
A7
A%>E,8
:L7A/0:8
:M97A%>E'9:8
:M007H6:;
A07NCC1A2;
剩余24页未读,继续阅读
blankrock111
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2