簡體   English   中英

位置(GPS)返回錯誤的值

[英]Location (GPS) returning wrong values

我正在學習Corona SDK,以便在我的Android 5.1.1 Xperia Z1 Compact上編寫一些有用的東西供私人使用

我偶然發現了用於定位的功能,並進行了嘗試(在參考文獻和示例的大量幫助下)

緯度,經度和准確性均可以正常工作。 坐標非常接近我的實際位置(大約10米) ,並且在給定的精度(31.5米)內 但是,海拔高度,速度和方向不太正確。

當我啟動該應用程序時,一開始的海拔高度是“正確的” (可能太高了50米) ,但是幾秒鍾后,它切換為零並停留在那里。 當我短暫地“最小化”應用程序並再次將其重新打開時,也會發生這種情況。

即使我四處走動,速度和方向始終保持零。

這是“我的”(大多是復制的)代碼:

local display = require ("display")

local t0 = display.newText("Latitude", 100, 50, native.systemFont, 16)
local t1 = display.newText("Longitude", 100, 100, native.systemFont, 16)
local t2 = display.newText("Altitude", 100, 150, native.systemFont, 16)
local t3 = display.newText("Accuracy", 100, 200, native.systemFont, 16)
local t4 = display.newText("Speed", 100, 250, native.systemFont, 16)
local t5 = display.newText("Direction", 100, 300, native.systemFont, 16)

local latitude = display.newText( "-", 200, 50, native.systemFont, 16 )
local longitude = display.newText( "-", 200, 100, native.systemFont, 16 )
local altitude = display.newText( "-", 200, 150, native.systemFont, 16 )
local accuracy = display.newText( "-", 200, 200, native.systemFont, 16 )
local speed = display.newText( "-", 200, 250, native.systemFont, 16 )
local direction = display.newText( "-", 200, 300, native.systemFont, 16 )

local locationHandler = function( event )

    local latitudeText = string.format( '%.4f', event.latitude )
    latitude.text = latitudeText

    local longitudeText = string.format( '%.4f', event.longitude )
    longitude.text = longitudeText

    local altitudeText = string.format( '%.3f', event.altitude )
    altitude.text = altitudeText

    local accuracyText = string.format( '%.3f', event.accuracy )
    accuracy.text = accuracyText

    local speedText = string.format( '%.3f', event.speed )
    speed.text = speedText

    local directionText = string.format( '%.3f', event.direction )
    direction.text = directionText

end

Runtime:addEventListener( "location", locationHandler )

謝謝!

一切似乎都是正確的。 1-使用這種類型的GPS的海拔高度將不准確,50m的精度很高。

2-您必須添加方向偵聽器才能進行工作:

local directionHandler1 = function( event )
        local magneticText = string.format( '%.1f', event.magnetic )
        magnetic.text = magneticText
end

    Runtime:addEventListener( "heading", directionHandler1 )

您需要所有這三個:

Runtime:addEventListener( "location", locationHandler1 )
Runtime:addEventListener( "heading", directionHandler1 )
Runtime:addEventListener('accelerometer', processor)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM