Php 如何根据地理位置搜索城市?

Php 如何根据地理位置搜索城市?,php,mysql,geolocation,Php,Mysql,Geolocation,我是PHP新手,我想搜索位于一定距离内的城市 因为。e、 g 当人们注册时,他们将注册他们的实际地址。当某人正在搜索某个成员时,他们将按城市搜索,搜索功能将基于距离 我的Html代码 <form method="get" id="sul-searchform" action="" ?>"> <div class="frmSearch"> <input type="text" id="search-box" name="a

我是PHP新手,我想搜索位于一定距离内的城市

因为。e、 g

当人们注册时,他们将注册他们的实际地址。当某人正在搜索某个成员时,他们将按城市搜索,搜索功能将基于距离

我的Html代码

<form method="get" id="sul-searchform" action="" ?>">
        <div class="frmSearch">
            <input type="text" id="search-box" name="as"  placeholder="City, state or zip" />
            <label>Select a distance in miles:</label>
                    <select name="distance">
                    <option>5</option>
                    <option>10</option>
                    <option>25</option>
                    <option>50</option>
                    <option>100</option>
            <input type="submit" class="submit" name="submit" id="sul-searchsubmit" value="Search Member" />
            <div id="suggesstion-box"></div>
        </div>
    </form>
“>
选择以英里为单位的距离:
5.
10
25
50
100
我想要一样的


我不知道该怎么做,有人知道吗?请与我一步一步地分享代码。

有一种方法可以做到这一点

1-使用web浏览器的地理位置API获取用户的地理位置

2-获得地理位置后,您可以使用谷歌地图的反向地理编码API来获取用户当前所在城市的详细名称

3-然后将城市详细信息与相应的用户映射到一个表中。这样,每当您需要任何特定城市的所有成员时,您都可以直接向数据库查询以获取所有这些成员的详细信息

参考地理定位API-

参考反向地理编码API-

反向地理编码API的Ex


希望它能对您有所帮助。

我需要数据库中的位置数据。注册时,只需获取城市详细信息并存储在数据库中。然后,每当您需要搜索来自任何城市的成员时,您都可以直接从数据库中搜索。您能否与我共享位于特定英里数范围内的城市的代码?我不这样认为,这是有限制的这样的api是存在的。但是,如果你有两个地理点,那么通过使用一些计算,你可以计算出它们之间的距离。因此,如果你在数据库中有所有城市的地理坐标,那么通过将这些坐标与任何特定的地理坐标进行比较,你可以知道这两个城市之间的确切距离。参考-我没有创建任何api,我只想从数据库中获取给我最近值的记录。