无法使地理定位脚本工作

Posted

技术标签:

【中文标题】无法使地理定位脚本工作【英文标题】:Cannot get Geolocation script to work 【发布时间】:2012-07-12 08:27:36 【问题描述】:

我编写了以下代码,但由于某种原因它不起作用,请帮忙谢谢

<script>
    $.getScript('http://www.geoplugin.net/javascript.gp', function() 

    $location =  geoplugin_countryCode();
$location2 = geoplugin_continentCode();        



    if($location == "CA" || $location == "US" || $location2 == "EU" || $location2 == "DE" || $location2 == "FR" || $location2 == "GB") 
    alert($location);
         var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-9240923-27']);
_gaq.push(['_trackPageview']);

(function() 
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
)();

     else 

         var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-9240923-27']);
_gaq.push(['_trackPageview']);

(function() 
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
)();
     

);



        </script>

【问题讨论】:

你的意思是它不起作用?会发生什么,您期望会发生什么? 它没有显示在谷歌分析中 我不确定我是否了解您想在这里完成什么。您在 if 和 else 子句中都加载分析?为什么不在 if 语句之后做呢?为什么在getScript 的成功回调中加载 Google Analytics? 1 分析代码将被修改 2. 请您解释一下:最好举个例子 我发布了您的问题的答案,概述了我编写此代码的方式。由于我不知道您想通过在成功回调中加载 Google Analytics 来完成什么,因此您必须多解释一下您想要完成什么。 【参考方案1】:

这还不是一个正确的答案,因为目前还不清楚实际问题是什么,但为了向 OP 解释,我会将此作为答案发布。

$.getScript('http://www.geoplugin.net/javascript.gp', function() 

    $location =  geoplugin_countryCode();
    $location2 = geoplugin_continentCode();        

    if($location == "CA" || $location == "US" || $location2 == "EU" || $location2 == "DE" || $location2 == "FR" || $location2 == "GB") 
       alert($location);
    
);

/* 
 * I'm not sure what you want to accomplish 
 * with loading Google Analytics within the success 
 * callback of getScript, so I moved it out here until that is clarified.
 */
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-9240923-27']);
_gaq.push(['_trackPageview']);

(function() 
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
)();

【讨论】:

以上是关于无法使地理定位脚本工作的主要内容,如果未能解决你的问题,请参考以下文章

Titanium 地理定位跟踪无法正常工作

如果 gps 暂时不可用,Cordova 地理定位插件无法正常工作

Cordova 地理定位插件有时不工作

Chrome 地理定位在更新后停止工作

Android手机上的错误“无法启动地理定位服务代码:2”

phonegap 相机和地理定位在 android 中不能一起工作