gpt4 book ai didi

api - 使用 google.loader.ClientLocation 获取用户位置对我有用,但对其他人无效

转载 作者:行者123 更新时间:2023-12-04 06:00:10 25 4
gpt4 key购买 nike

我正在尝试使用 google.loader.ClientLocation 和 maps api 来获取访问者的位置并将 map 居中。以下对我来说工作正常(在 Safari、Firefox 和 Chrome 上),但我测试它的 friend (在 Safari 和 Firefox 上)只看到一个带有 Google Logo 的白框。

 <script type="text/javascript" src="http://www.google.com/jsapi?key=MykeyHere"></script>

<script type="text/javascript">
google.load("maps", "2");
</script>

<script type="text/javascript">

function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("local_map"));
map.setMapType(G_PHYSICAL_MAP);
map.setCenter(new GLatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude), 15);
// map.setCenter(new GLatLng(54.5975, -5.920278), 15);
map.setUIToDefault();

}

</script>

有什么想法可能会出错吗?该网站位于 http://www.chris-armstrong.com/ticktalk ( map 靠近底部)

最佳答案

Google ClientLocation 使用 IP 地址地理位置。那里有几个 IP 地址地理定位提供商(右侧边栏中的相关问题将为您提供其中几个),它们为不同的用户提供不同的结果。 Google ClientLocation 将无法找到每个人的位置,并且它不会总是提供与某些竞争对手一样精确或准确的答案。

my test page ,例如,我使用 Google ClientLocation 和 IPInfoDB Google ClientLocation 现在找不到我在家,而 IPInfoDB 认为我在桑尼维尔而不是伯克利。您可能会发现一个提供者比其他提供者更好(特别是如果您为其数据库付费),但我怀疑如果您真的需要它,最强大的方法是使用多个并希望至少一个会产生结果.您应该预先知道 IP 地理定位并不总是适用于所有用户(例如,匿名代理后面的用户永远不会以这种方式定位)。

还有 ,如果您想要更精确的位置,可以使用 Javascript API 向浏览器询问用户的确切位置。在支持的浏览器上,用户将收到一个小弹出窗口,请求他们的许可,如果获得许可,浏览器将使用 GPS(例如 iPhone 上的移动 Safari)或 WiFi 三角测量(Firefox 3.5+)来确定纬度和经度.你可以在 my test page 上看到它是如何工作的。 ,并将其与 IP 地理位置进行比较。并非所有浏览器都支持 W3C Geolocation API ,但越来越多的人这样做。

关于api - 使用 google.loader.ClientLocation 获取用户位置对我有用,但对其他人无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2053624/

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