2011-09-08 6 views
1

휴대 전화 용 웹 응용 프로그램을 작성 중이므로 geolocation을 사용해야합니다. GPS가 작동하지 않습니다 (Android 웹 응용 프로그램)

내가 쓴 : (자바 스크립트)

function GeoLocationStart(){ 
    if(navigator.geolocation){ 
       navigator.geolocation.getCurrentPosition(onSuccess,onError); 
      } 
      else{ 
       alert("Functionality not available"); 
      } 
} 

function onSuccess(position) { 
    var initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); 
    map.setCenter(initialLocation); 
    var userMarker = new google.maps.Marker({ 
      position: initialLocation, 
      map: map, 
      title: "You're here", 
      icon: face 
     });  
    userMarker.setMap(map); 

    var userhtml = "It's you!"; 
    var UserInfoWindow = new google.maps.InfoWindow({content: userhtml}); 

    google.maps.event.addListener(userMarker, 'click', function() {  
      UserInfoWindow.open(map, userMarker); 
      }); 
}; 

function onError(error) { 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
} 

그것은 잘 작동하지만 GPS없이. 나는 안드로이드 매니페스트 파일 권한 설정하지만

:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_GPS" /> 
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" /> 
<uses-permission android:name="android.permission.ACCESS_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

응용 프로그램도 sattelites 검색 시작되지 않습니다. (물론 내 휴대 전화에서 GPS를 확인했는데 다른 응용 프로그램에서도 작동합니다)

GPS를 켜는 방법은 무엇입니까?

감사합니다.

+1

네트워크를 사용할 경우 잘 동작 할 것이라고 생각합니다. GPS 제공 업체를 사용하여 위치를 찾으려면 설정 -> 위치 및 보안으로 이동하여 GPS 위성 사용을 선택하고 무선 네트워크 사용을 선택 취소하십시오. –

+0

내 휴대 전화 설정에서 GPS를 확인했는데 다른 응용 프로그램에서는 작동하지만 내 휴대 전화에서는 작동하지 않습니다. 나는 무선 네트워크가 GPS가 작동하는 것을 방해하지 않는다고 생각한다. 그들 없이는 내 응용 프로그램은 어떤 위치와 GPS가 나타나지 않는 것을 멈추었습니다. –

+0

당신은 와이파이 근처에서 당신의 앱을 돌리고 있습니까? –

답변

1

해결책을 찾았습니다.

무선 네트워크를 사용하여 위치를 찾은 후 GPS는 목표가 달성 되었기 때문에 작동을 멈췄습니다 - 위치가 정의되었습니다! 위치를 검색을 계속하려면

나는 그렇게 시작 GPS

var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { frequency: 3000 }); 

을 썼다.

+0

나중에 참조 할 수 있도록 : '주파수'는 W3C 사양의 일부가 아닙니다 ([source] (http://www.mosync.com/files/imports/doxygen/latest/html5/geolocation.options.md.html#geolocationOptions)), 속성'maximumAge'는 똑같은 것을합니다. (Google이 'frequency'속성에 대한 결과를 거의 반환하지 않기 때문에이 설명을 추가했습니다.) – Juffy

관련 문제