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

时间:2017-05-02 06:27:20

标签: php mysql geolocation

我是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>

我想要像click here

一样

我不知道如何做到这一点,是否有人知道它然后请逐步分享我的代码?

1 个答案:

答案 0 :(得分:1)

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

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

2 - 获取地理位置后,您可以将该信息与Google Map的反向地理编码API一起使用,以获取用户当前所在位置的CITY名称详细信息。

3 - 然后将城市详细信息与表中的相应用户进行映射。因此,只要您需要在任何特定城市中的所有成员,您就可以直接向您的数据库查询以获取所有这些成员的详细信息。

参考地理位置API -

https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation

参考反向地理编码API -

https://developers.google.com/maps/documentation/geocoding/start?csw=1#ReverseGeocoding

反向地理编码API Ex

http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true

希望它会帮助你。