2014-10-10 2 views
0

버튼이있는 페이지가 있습니다.이 버튼을 클릭하면 위도와 경도가 표시된 경고가 표시됩니다. 내 노트북에서 Chrome에서 작동하지만 안드로이드 휴대 전화를 사용해 보았을 때 페이지가 표시되고 있지만 경고는 아닙니다. getCurrentPosition을 사용하여 watchPosition을 변경하려고 시도했지만 변경하지 않았습니다.
문제를 해결하기 위해 경고 체크 포인트를 설치했으며 랩톱 브라우저에서는 function success()가 호출되지만 안드로이드 브라우저에서는 호출되지 않고 함수 오류()도 호출되지 않는다는 것을 알았습니다. 도와주세요. 심지어 구글 기어를 시도geolocation은 웹 브라우저에서 작동하지만 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 기호 안드로이드에 다가오고 있지만 위치는 여전히

<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

이 문제는 안드로이드 브라우저의'alert()'지원 문제입니다. 확실히하려면 경고 대신 페이지의 일부 필드를 지역 좌표로 업데이트하고 작동하는지 확인하십시오. –

+0

다른 경고는 안드로이드 브라우저에서 정상적으로 작동합니다 .....하지만 여전히 레이블을 넣고 경고 대신 성공을 위해 업데이트하려고했습니다() ... 안드로이드 브라우저에서 작동하지 않았지만 작동했습니다 웹 브라우저 – j4rey89

+0

에 navigator.geolocation.getCurrentPosition();을 사용하기위한 스크립트를 추가해야합니까? 안드로이드 브라우저를 지원하는 – j4rey89

답변

-2

코드는 완벽하게 잘 동작하는 것 .... 표시되지 않습니다. 안드로이드 OS에서 작동 할 수있는 지리적 위치는

, 당신은 즉,의 AndroidManifest.xml 파일에 몇 가지 권한을 부여해야합니다

이 권한을 사용 : - 당신이 원하는 경우

ACCESS_LOCATION_EXTRA_COMMANDS 
ACCESS_COARSE_LOCATION 
ACCESS_FINE_LOCATION 

모든 안드로이드 버전에서 작동하는 지리적 위치 기능을 추가하려면 다음을 추가해야합니다.

WRITE_EXTERNAL_STORAGE 
관련 문제