2014-05-21 89 views
-2

我需要开发这个想法,我有一个MYSQL数据库在我的网站,从一些本地商店的地址。谷歌地图API与PHP集成

我需要在联系人页面中有一个搜索框,让用户键入他的地址或城市,例如,并将该信息发送到Google地图API并从该地址收回最近的本地商店...

问题是,我甚至不知道如何开始做,有没有什么地方可以找一个教程或类似的东西?

谢谢大家,对不起新手和坏英语。

+0

请尝试此操作[Google Maps Javascript API v3文档中的文章](https://developers.google.com/maps/articles/phpsqlajax_v3) – geocodezip

回答

0

我工作的是同一件事(除了我用html地理位置获得用户的位置)。

一般来说,这些步骤如下(我了):

  1. 如果不存在,但如果可能的话,在mysql表中的所有地址,每个地址添加纬度和经度列和计算这些值。这将使以后更容易在给定范围内过滤地址。
  2. 获取用户在输入/搜索框中输入的地址的经度和纬度。
  3. 定义“最近的本地业务”。它多少公里?如果你有一定的金额,你可以创建一个边界框,例如下面的代码(我使用这个代码):

    $ rad = 5; //以公里为单位的边界圆的半径

    $ R = 6371; //地球的平均半径,km

    //初次切割包围盒(以度为单位) $ maxLat = $ _GET ['lat'] + rad2deg($ rad/$ R); $ minLat = $ _GET ['lat'] - rad2deg($ rad/$ R); //补偿经度随纬度增加而变小 $ maxLon = $ _GET ['long'] + rad2deg($ rad/$ R/cos(deg2rad($ _ GET ['lat']))); $ minLon = $ _GET ['long'] - rad2deg($ rad/$ R/cos(deg2rad($ _ GET ['lat'])));

  4. 您可以使用变量minLat,maxLat,minLon,maxLon过滤掉mysql查询中附近的地址,计算出distance并按照您喜欢的顺序放置它们。

  5. 您可以将这些地址显示为html,但也可以在地图上显示为标记。

Please read the google map API tutorial.这对我很有帮助。我认为你需要关注的基本事情是:

  • 当前数据如何存储?
  • 我有我需要的数据(经纬度)从已知的地址)?
  • 根据用户的输入,得到最近地址的mysql查询是什么?
  • 如何在网页上显示地图,以及如何绘制 此地图上的标记?

我希望这能给你一些指导。我仍然在学习很多,但这是我迄今为止所获得的。本教程将学习如何在网页上显示地图的基本知识:https://developers.google.com/maps/tutorials/fundamentals/adding-a-google-map

祝您好运!