2014-05-19 11 views
0

안녕하세요, 이것은 위도, 경도 및 고도를 얻으려는 데 사용되는 코드입니다. 고도는 위도가 높지만 고도는 항상 0을 반환합니다. 고도를 얻는 방법을 알 수 없었습니다. 코드를 확인하고 알려주세요. 휴대 전화에 설치된 GPS 수신기의 의존고도는 항상 GPS를 통해 제로가됩니다.

if (!isGPSEnabled && !isNetworkEnabled) { 
      // no network provider is enabled 
     } else { 
      this.canGetLocation = true; 
      if (isNetworkEnabled) { 
       locationManager.requestLocationUpdates(
         LocationManager.NETWORK_PROVIDER, 
         MIN_TIME_BW_UPDATES, 
         MIN_DISTANCE_CHANGE_FOR_UPDATES, this); 
       Log.d("Network", "Network"); 
       if (locationManager != null) { 
        location = locationManager 
          .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
        if (location != null) { 
         latitude = location.getLatitude(); 
         longitude = location.getLongitude(); 
         if(!location.hasAltitude()) 
         { 
          altitude=location.getAltitude();  
         }else 
         { 
          altitude=1.0; 
         } 

        } 
       } 
      } 
      // if GPS Enabled get lat/long using GPS Services 
      if (isGPSEnabled) { 
       if (location == null) { 
        locationManager.requestLocationUpdates(
          LocationManager.GPS_PROVIDER, 
          MIN_TIME_BW_UPDATES, 
          MIN_DISTANCE_CHANGE_FOR_UPDATES, this); 
        Log.d("GPS Enabled", "GPS Enabled"); 
        if (locationManager != null) { 
         location = locationManager 
           .getLastKnownLocation(LocationManager.GPS_PROVIDER); 
         if (location != null) { 
          latitude = location.getLatitude(); 
          longitude = location.getLongitude(); 
          if(!location.hasAltitude()) 
          { 
           altitude=location.getAltitude();  
          }else 
          { 
           altitude=1.0; 
          } 
         } 
        } 
       } 
      } 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
+0

지붕 아래에서 긴 영점을 얻고 있습니까? – Dhrupal

+0

예 ..하지만 오랫동안 완벽한 완벽 .. 점점 고도는 0입니다. – user3651987

답변

1

. 벤더가 표준 nmea 구현이 아닌 일종의 구현을한다면, 모든 정보가 이용 가능하지 않을 수도 있습니다. 칩셋이 sdk를 통해 고도를 지원하는지 확인할 수 있습니다. Here

+0

답장을 보내 주셔서 감사합니다. 인터넷을 통해서 고도를 얻으려면 다른 옵션이 있습니까? 제안하십시오. – user3651987

+0

아니요, 외부 웹 서비스가 필요하면 – Blackbelt

+1

압력 센서를 사용하십시오. 적절한 교정을 통해 사용할 수 있습니다. – Ifor

2

당신은 getAltitude()를 호출하고있는 문서에만 hasAltitude() 반환 false (더 고도 데이터를 사용할 수없고, 따라서 0.0가 반환 될 때).