2013-02-28 3 views
1

사용자 코드를 가져 오는 간단한 JavaScript 코드가 있는데, 컴퓨터에서 정상적으로 작동하지만 휴대 전화에 대해서는 동일하게 말할 수 없습니다.휴대 전화에서 geolocation이 작동하지 않습니다.

function getLocation() 
    { 
    if (navigator.geolocation) 
    { 
    navigator.geolocation.getCurrentPosition(showPosition); 
    } 
    else{x.innerHTML="Geolocation is not supported by this browser.";} 
} 

w3schools에서 가져 왔습니다. 처음으로 내 위치를 공유하고 싶다면 (동의), 버튼을 눌러 아무 것도 일어나지 않고 (아무런 오류 메시지도 표시되지 않음), 내 PC에서 작동하므로 코드가 아닙니다. 두 가지 장치에서 시도 : galaxy nexus 및 galaxy s2 모두 jellybeaned. 은 크롬, 크롬 베타, 파이어 폭스 및 브라우저에 내장되었습니다. 그들 중 일부는 "공유 위치"메시지가 나타나지 않습니다. 어떻게 해결할 수 있습니까?

+0

http://w3fools.com – Jason

답변

1

내가 전에이 문제를 했어, 나는 그것을, 당신은 적어도 그들이에서 위치 서비스를 켜려고 여부에 대해 사용자에게 메시지를 표시 할 필요에 주 위치로 불가능하다고 생각합니다. 그러나 here's 스레드가 공유 위치를 사용하도록 Android 사용자에게 요청하는 방법에 대해 자세히 설명하는 스레드입니다. 또한 w3schools 사용을 피할 것입니다.

좋은 위치 정보 응용 프로그램 : http://www.9lessons.info/2011/06/geo-location-with-html5-and-jquery.html

0

의 HTML5 위치 정보는 사용자 권한이 필요합니다. 이를 원하지 않는 경우에는 https://www.geoip-db.com과 같은 외부 로케이터를 사용하십시오. JSON 및 JSONP 콜백 솔루션을 제공합니다.

평범 자바 스크립트 예 :

<!DOCTYPE html> 
<html> 
<head> 
<title>Geo City Locator by geoip-db.com</title> 
</head> 
<body> 
    <div>Country: <span id="country"></span></div> 
    <div>State: <span id="state"></span></div> 
    <div>City: <span id="city"></span></div> 
    <div>Postal: <span id="postal"></span></div> 
    <div>Latitude: <span id="latitude"></span></div> 
    <div>Longitude: <span id="longitude"></span></div> 
    <div>IP address: <span id="ipv4"></span></div>        
</body> 

<script> 

    var country = document.getElementById('country'); 
    var state = document.getElementById('state'); 
    var city = document.getElementById('city'); 
    var postal = document.getElementById('postal'); 
    var latitude = document.getElementById('latitude'); 
    var longitude = document.getElementById('longitude'); 
    var ip = document.getElementById('ipv4'); 

    function callback(data) 
    { 
     country.innerHTML = data.country_name; 
     state.innerHTML = data.state; 
     city.innerHTML = data.city; 
     postal.innerHTML = data.postal; 
     latitude.innerHTML = data.latitude; 
     longitude.innerHTML = data.longitude; 
     ip.innerHTML = data.IPv4; 
    } 

    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = 'https://geoip-db.com/json/geoip.php?jsonp=callback'; 
    var h = document.getElementsByTagName('script')[0]; 
    h.parentNode.insertBefore(script, h); 

</script> 
</html> 
관련 문제