地理位置API无法正常工作

达哈尔

我正在构建一个天气页面,我需要获取用户位置才能获取天气数据。

if ((navigator.geolocation)&&(location!=null)) {
    var locations = null;
    window.navigator.geolocation.getCurrentPosition(function(position){
        var latitude  = position.coords.latitude;
        var longitude = position.coords.longitude;
        locations = latitude+'/'+longitude;
        show_all_weather_components();  
        console.log("1");
    }); 
}
/* If location is not found the set default location as USDC0001, which is default code for washington DC. */

var locations= !locations?"USDC0001":locations;
console.log("2");

我的控制台先获得2。IE。它始终设置默认地址,而不是用户实际地址。我知道这听起来很荒谬,但是有什么方法可以避免代码的“非阻塞”模式。还是有其他方法来获取用户位置。我也尝试了ip数据库Api,但是它不能精确工作。

曾经我曾考虑过将延迟放在if条件部分的下面,但是由于该天气应用程序的模块不同,我的页面已经非常慢。任何想法将不胜感激。谢谢

杰罗恩·海尔(Jeroen Heier)

您必须使用getCurrentPosition的其他参数。这是一个例子:

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
</head>
<body>
  <div id="result"></div>
  <script>
     var result = document.getElementById('result');
     if (navigator.geolocation && location != null) {        
       window.navigator.geolocation.getCurrentPosition(function(position){
         result.text = position.coords.latitude + '/' + position.coords.longitude;
       }, function(error) {           
         switch(error.code) {
           case error.PERMISSION_DENIED:
             result.innerHTML = "Denied request for Geolocation."
             break;
           case error.POSITION_UNAVAILABLE:
             result.innerHTML = "Location unavailable."
             break;
          case error.TIMEOUT:
             result.innerHTML = "Location request timed out." 
             break;
          case error.UNKNOWN_ERROR:
             result.innerHTML = "An unknown error occurred."
             break;
         }
       }, { timeout: 1000, maximumAge: 1000 }); 
     }
  </script>
</body>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我的googlemap地理位置无法正常工作

来自分类Dev

离子服务:可以通过localhost访问google地理位置api,但是当服务地址更改时,它无法正常工作

来自分类Dev

如果GPS暂时无法使用,Cordova地理位置插件将无法正常工作

来自分类Dev

Google Play服务位置和地理围栏API在Genymotion上无法正常工作

来自分类Dev

抖动:地理位置定位器无法正常工作,请确保清单中至少定义了ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION

来自分类Dev

无法使用geoPointForCurrentLocationInBackground检索地理位置

来自分类Dev

谷歌关闭地理位置API

来自分类Dev

Google Maps API v3地理位置无法在Google Chrome中运行

来自分类Dev

HTML5地理位置与Google Maps地理位置api

来自分类Dev

电报地理位置

来自分类Dev

gpsd的地理位置

来自分类Dev

角度地理位置

来自分类Dev

OrientDB地理位置

来自分类Dev

AngularJs地理位置

来自分类Dev

重置地理位置

来自分类Dev

地理位置脚本

来自分类Dev

地理位置配置

来自分类Dev

AppleScript - 地理位置

来自分类Dev

Phonegap地理位置无法在移动设备上运行

来自分类Dev

无法使用地理位置显示自动缩放地图

来自分类Dev

检查地理位置后功能无法启动

来自分类Dev

无法在Android模拟器中获取地理位置

来自分类Dev

无法访问函数内部的地理位置

来自分类Dev

无法添加Cordova 3.4.0地理位置插件

来自分类Dev

检查地理位置后功能无法启动

来自分类Dev

Safari 5.1.7中无法进行地理位置定位

来自分类Dev

无法在Android平台中调用地理位置插件

来自分类Dev

无法提取地理位置键(nodejs和mongo)

来自分类Dev

地理位置-使用Ionic Framework,AngularJS和Google API

Related 相关文章

热门标签

归档