【发布时间】:2016-11-13 06:05:03
【问题描述】:
我正在学习 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 )
谢谢!
【问题讨论】: