在Javascript中从lat / long获取cityname

问题描述 投票:0回答:1

我可以从以下代码中检索lat / long。基于这个值,我应该能得到城市名称。

    <!DOCTYPE html>
    <html>
    <body>

    <p>Click the button to get your coordinates.</p>

    <button onclick="getLocation()">Try It</button>

    <p id="demo"></p>

    <script>
    var x = document.getElementById("demo");

    function getLocation() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(showPosition);
        } else { 
            x.innerHTML = "Geolocation is not supported by this browser.";
        }
    }

    function showPosition(position) {

        x.innerHTML = "Latitude: " + position.coords.latitude + 
        "<br>Longitude: " + position.coords.longitude;


        var geocoder;
        geocoder = new google.maps.Geocoder();
        var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

        geocoder.geocode({'latLng': latlng}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
                if (results[0]) {
                    var add= results[0].formatted_address ;
                    var  value=add.split(",");

                    count=value.length;
                    country=value[count-1];
                    state=value[count-2];
                    city=value[count-3];
                    alert("city name is: " + city);
                }
                else  {
                    alert("address not found");
                }
        }
         else {
            alert("Geocoder failed due to: " + status);
        }
    }

    </script>

    </body>
    </html>

我从一些文章中读到了Geo-location API。而且我不确定这是否真的需要,因为我没有在这里实施地图。我只需要当前位置的城市名称

javascript laravel google-maps
1个回答
0
投票

这取决于你的目的。如果您想在一个小区域内使用此应用程序,最好在数据库中对城市名称和纬度/经度进行硬编码,然后您可以获取当前的纬度/经度并检查数据库中的匹配项的准确度百分比。这取决于你的需要。

© www.soinside.com 2019 - 2024. All rights reserved.