资源描述:
《google地图接口研究与应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Google地图接口研究与应用--PHP/MySQL与Google地图结合应用将GoogleMaps与MySQL数据库配合使用,总共分四个步骤:1.创建表2.填写表3.使用PHP输出XML4.创建地图创建表创建MySQL表时,您应当特别注意lat和lng属性。鉴于GoogleMaps目前的缩放能力,您只需要精确到小数点后六位数。为了让表占用的存储空间降至最低,您可以将lat和lng属性指定为大小是(10,6)的浮点数。这样,这些字段将会存储小数点后6位数以及小数点前最多4位数,如-123.456789度。您的表中还应当有一
2、个充当主键的id属性,以及一个用于区分饭店和酒吧的type属性。创建表的SQL语句CREATETABLE`markers`( `id`INTNOTNULLAUTO_INCREMENTPRIMARYKEY, `name`VARCHAR(60)NOTNULL, `address`VARCHAR(80)NOTNULL, `lat`FLOAT(10,6)NOTNULL, `lng`FLOAT(10,6)NOTNULL, `type`VARCHAR(30)NOTNULL,)ENGINE=MYISAM;填写表创建表后,应向
3、表中填写数据。下文中提供了西雅图的10个场所的示例数据。在phpMyAdmin中,您可以使用IMPORT标签导入各种文件格式,包含CSV(逗号分隔值)。MicrosoftExcel和Google电子表格都可以导出为CSV格式,因此您可以通过导入/导出CSV文件将电子表格中的数据轻松传送到MySQL表中。表的效果如下:执行相同操作的SQL语句INSERTINTO`markers`(`name`,`address`,`lat`,`lng`,`type`)VALUES('南昌航空大学','丰和南大道696号','28.65200
4、0','115.825996','school'); INSERTINTO`markers`(`name`,`address`,`lat`,`lng`,`type`)VALUES('南昌航空大学老校区','南昌市上海路173号','28.657900','115.940300','school'); INSERTINTO`markers`(`name`,`address`,`lat`,`lng`,`type`)VALUES('滕王阁','南昌市东湖区沿海路','28.680260','115.881599','scenic
5、');INSERTINTO`markers`(`name`,`address`,`lat`,`lng`,`type`)VALUES('江西理工大学','赣州市红旗大道86号','28.740999','115.876801','school'); 使用PHP输出XML将数据库连接信息保存到一个单独的文件中这时,您需要编写一些PHP语句将表数据导出为XML格式,这样,地图可以通过异步Javascript调用进行检索我使
6、用PHP的DOM函数输出XML:在PHP中,首先会初始化一个新的XML文档,并创建“标记”父节点。然后连接到数据库,在标记表中执行SELECT*(选择所有项)查询,然后循环访问查询结果。为表中的每一行(每个位置)创建一个以行属性为XML属性的新XML节点,并将其附加到父节点。然后将XML转储到屏幕。代码如下
7、$dom->createElement("markers"); $parnode=$dom->appendChild($node); //OpensaconnectiontoaMySQLserver $connection=mysql_connect(localhost,$username,$password); if(!$connection){ die('Notconnected:'.mysql_error());} //SettheactiveMySQLdatabase $db_selected=mysql_
8、select_db($database,$connection); if(!$db_selected){ die('Can'tusedb:'.mysql_error()); } //Selectalltherowsinthemarkerstable $query="SELECT*FROMmark