1

这是我编写的函数的一部分

                watchlocation: function() {
            console.log("watchlocation Started");
            if (watchProcess == null) {
                watchProcess = navigator.geolocation.watchPosition(locationcheck.handle_geolocation_query_success, locationcheck.handle_errors, {enableHighAccuracy:true});
            }                       
              if(position.coords.latitude == null) {
                  var Lat = '52.5960';
                  console.log("latitude Set Manually");
              }
              else {
                  var Lat = position.coords.latitude;
                  console.log("latitude Set Automatically");                         
              };

              if(position.coords.longitude == null) {
                  var lon = '-1.9110';
                  console.log("longitude Set Manually");
              }
              else {
                  var lon = position.coords.longitude;   
                  console.log("longitude Set Automatically");
              };
              locationcheck.handle_geolocation_query_successalt(position.coords.latitude,position.coords.longitude);
              console.log("watchlocation Position Passed");  
     },

每次我尝试访问 position.coords.latitude 或 position.coords.longitude 控制台都会说

'未捕获的类型错误:无法读取未定义的属性'纬度''和'未捕获的类型错误:无法读取未定义的属性'经度'

我在这里尝试做的最终结果是通过 HTLM5 标准获取当前位置,如果这不起作用替换 lat lon 全局变量。

我怀疑这可能取决于我的方法,因为我仍在学习做事的最佳方法,因为我之前已经能够访问 position.coords.latitude,position.coords.longitude 作为警报框的一部分。

TIA

人族

编辑 Jörn Berkefelds 评论说我有 var postion = ""; 其他正确的地方-我将其删除并解决了问题。

4

0 回答 0