如何在我的登陆页面上以文本形式显示我的网站访问者的位置? [关闭]

Posted

技术标签:

【中文标题】如何在我的登陆页面上以文本形式显示我的网站访问者的位置? [关闭]【英文标题】:How to DISPLAY location of my website visitor as a text on my landing page? [closed] 【发布时间】:2018-06-22 13:29:39 【问题描述】:

是否可以在不提示用户的情况下使用 javascript 和/或 html 代码来做到这一点?

我希望以文本格式打印他们的位置(城市或国家)。

【问题讨论】:

是的,有可能。我敢打赌,如果你做了一些研究,你可以自己找到代码。 Get visitors language & country code with javascript (client-side)的可能重复 Get city name using geolocation的可能重复 【参考方案1】:

查看此链接:https://www.w3schools.com/Html/html5_geolocation.asp

使用 GEOLocation,HTML5 可以获取您当前的位置。

下面的代码将不起作用,因为:

要在您的网站上使用此代码,请从 Google 获取免费的 API 密钥。阅读更多:https://www.w3schools.com/graphics/google_maps_basic.asp

获得 API 密钥后,此代码将在您的网站上运行。如果您想查看工作版本,请访问此处:https://www.w3schools.com/Html/tryit.asp?filename=tryhtml5_geolocation_map

该代码基本上可以获取您的纬度和经度并将其绘制在谷歌地图中。

var x = document.getElementById("demo");

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


function showPosition(position) 
    var latlon = position.coords.latitude + "," + position.coords.longitude;
    var img_url = "https://maps.googleapis.com/maps/api/staticmap?center="
    +latlon+"&zoom=14&size=400x300&key=AIzaSyBu-916DdpKAjTmJNIgngS6HL_kDIKU0aU";
    document.getElementById("mapholder").innerHTML = "<img src='"+img_url+"'>";

//To use this code on your website, get a free API key from Google.
//Read more at: https://www.w3schools.com/graphics/google_maps_basic.asp

function showError(error) 
    switch(error.code) 
        case error.PERMISSION_DENIED:
            x.innerHTML = "User denied the request for Geolocation."
            break;
        case error.POSITION_UNAVAILABLE:
            x.innerHTML = "Location information is unavailable."
            break;
        case error.TIMEOUT:
            x.innerHTML = "The request to get user location timed out."
            break;
        case error.UNKNOWN_ERROR:
            x.innerHTML = "An unknown error occurred."
            break;
    
<!DOCTYPE html>
<html>
<body>

<p id="demo">Click the button to get your position.</p>

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

<div id="mapholder"></div>


</body>
</html>

还有一件事,如果您想了解国家和城市,请在此处查看第一个答案:How to get client's IP address using JavaScript?。那应该可以帮到你。

希望这有帮助!

【讨论】:

是的,我在这里问这个问题之前已经检查过这个网站..但是在显示位置之前需要访问者的手动许可,任何访问者显然都会拒绝。 @joe997 你不能没有它。唯一的其他方法是使用 IP,这不是很准确。 @joe997 在这里查看第一个答案,它向您展示了通过位置获取 IP 的方法。如果这有帮助,请标记为正确答案***.com/questions/391979/…

以上是关于如何在我的登陆页面上以文本形式显示我的网站访问者的位置? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的页面中集成 Google Analytics 数据?

PHP:如何在我的页面上显示文本文件的内容?

在我的 wordpress 网站中,该网站已关闭,它只显示带有密码字段的空白页面

如何在我的网站上显示我的 Twitter 时间线

怎样用php中的curl模拟登陆

如何阻止另一个域访问并从我的网站获取结果?