gpt4 book ai didi

jsf - 如何在 Primefaces Gmap 上标记用户的当前位置?

转载 作者:行者123 更新时间:2023-12-04 23:56:31 27 4
gpt4 key购买 nike

在 Gmap 中,我们可以通过传递自定义纬度和经度来标记所需的位置。
有什么方法可以为用户的当前位置添加标记到 map 上。?
有没有办法获取用户的经纬度?
有没有人做过?
请分享您的想法?

最佳答案

您需要计算用户的 IP 地址,然后将其提供给某些 IP 地理定位工具/API,以获得纬度/经度的地理位置。最后将此信息用于您的 Google map 。

JSF 可以为您做的就是为您提供用户的 IP 地址,如下所示:

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
String ip = request.getRemoteAddr();
// ...

如果您还想考虑代理,请查看 X-Forwarded-For标题:
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
String ip = request.getRemoteAddr();
String forwardedFor = request.getHeader("X-Forwarded-For");

if (forwardedFor != null) {
ip = forwardedFor.split("\\s*,\\s*", 2)[0];
}

// ...

您又必须使用哪个 IP 地理定位工具/API 是一个您必须自己回答的问题。只需向 Google 输入关键字“ ip geo location”即可开始使用。

关于jsf - 如何在 Primefaces Gmap 上标记用户的当前位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15517667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com