2014-10-10 70 views
0

我有頁面按鈕,點擊時顯示一個經緯度警報。它適用於我的筆記本電腦上的Chrome,但是當我嘗試使用我的android手機時,頁面顯示,但警報不是。我試圖用getCurrentPosition改變watchPosition,但沒有改變。
爲了解決這個問題,我建立了一個警戒檢查點,並且我發現函數success()在筆記本瀏覽器中調用,但不在android瀏覽器中調用,甚至沒有調用函數error()。 請幫忙。地理位置在網絡瀏覽器上工作,但不在android手機瀏覽器

<html> 
<head><title>Geolocation</title></head> 
<body onload="getLocation();"> 
<input type="button" id="btnSearch" value="Search" onclick="btn_Click();"/> 

<script> 
    var pos; 
    function btn_Click() { 
     alert("Alert"); 
     //alert('Lat: ' + pos.coords.latitude + ' ' + 'Lon: ' + pos.coords.longitude); 
    } 

    function getLocation() { 
     alert("doSomething"); 
     if (navigator.geolocation) { 
      alert("navigator.geolocation"); 
      navigator.geolocation.getCurrentPosition(success,error,options); 
      function success(position) { 
       alert("success"); 
       pos = position; 
      } 
      function error(err) { 
       alert("Error"); 
      }; 
      var options = { 
       enableHighAccuracy: true, 
       timeout: 5000, 
       maximumAge: 0 
      }; 
     } else { 
      alert("I'm sorry, but geolocation services are not supported by your browser."); 
     } 

    } 
</script> 
</body> 
</html> 

我甚至嘗試了谷歌齒輪,現在的GPS標誌就要到了Android上,但位置仍然沒有顯示....

<html> 
<head><title>Javascript geo sample</title> 
<script src="geo-min.js" type="text/javascript" charset="utf-8"></script> 
</head> 
<body> 
<b>Javascript geo sample</b> 
<script> 
    var pos; 
    if (geo_position_js.init()) { 
     geo_position_js.watchPosition(success_callback, error_callback, { enableHighAccuracy: true }); 
    } 
    else { 
     alert("Functionality not available"); 
    } 

    function success_callback(p) { 
     pos = p; 
     alert('lat=' + p.coords.latitude.toFixed(2) + ';lon=' + p.coords.longitude.toFixed(2)); 
    } 

    function error_callback(p) { 
     alert('error=' + p.message); 
    } 

    function ChangeLabel() { 
     document.getElementById("Label1").innerHTML =pos.coords.latitude; 
    } 
</script> 
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br /> 
<input type="button" ID="Button1" value="Button" onclick="ChangeLabel()"/> 
</body> 
</html> 
+0

我認爲這是在android瀏覽器中支持'alert()'的問題。可以肯定的是,不用提醒嘗試使用地理座標更新頁面上的某些字段,並查看它是否有效。 – 2014-10-10 11:06:59

+0

其他警報工作正常在Android瀏覽器.....但我仍然嘗試過,把一個標籤,而不是警報我試圖更新成功()...它沒有工作在Android瀏覽器,但它的工作在網絡瀏覽器 – j4rey89 2014-10-10 11:15:10

+0

我需要添加一些腳本來使用navigator.geolocation.getCurrentPosition();?以支持Android瀏覽器 – j4rey89 2014-10-10 11:15:57

回答

-2

您的代碼似乎工作完全正常。

對於地理位置上的Android操作系統,您需要在AndroidManifest.xml文件舉幾個權限,即:

用途權限: -

ACCESS_LOCATION_EXTRA_COMMANDS 
ACCESS_COARSE_LOCATION 
ACCESS_FINE_LOCATION 

如果你想地理位置功能可在所有Android版本上運行,您還需要添加:

WRITE_EXTERNAL_STORAGE 
相關問題