这个问题与使用map api函数setcenter和addmarker在Corona(lua)中将变量数据作为地图坐标(lat,long)传递有关。
我无法获取mapview - setcenter和addmarker来识别lat,long变量。非常感谢能够提供任何建议的任何人。这很难诊断,因为我必须在设备上加载apk进行测试,我无法看到错误。
什么有效 此代码在设备上运行良好:
myMap:setCenter( 30.192729,-81.364483 )
local function mapmarker( event )
myMap:addMarker( 30.192729,-81.364483 )
end
timer.performWithDelay( 10000, mapmarker)
仅供参考:我必须添加延迟以给地图加载标记的时间,否则它不会在设备上显示标记。
什么行不通 现在,如果我用变量替换实际lat,长数,它将无法工作。 mapview仍然有效,但默认为我当前的位置。
local currentXlatitude = tonumber(decodedData[2])
local currentXlongitude = tonumber(decodedData[3])
local location = (currentXlatitude.."," ..currentXlongitude)
1)当我将这些变量打印到控制台时,它们持有有效数字。
print (currentXlatitude)
print (currentXlongitude)
30.192729
-81.364483
2)此外,我通过传递到地图网址来测试变量,它们工作正常。 mapURL =“http://maps.google.com/maps?q=Hello,!@”..位置
3)为了确定,我将变量设置为实际数字,但这也不起作用。
local currentXlatitude = 30.192729
local currentXlongitude = -81.364483
4)这是带有变量“location”的代码。在设备上,地图只是默认为我的位置,没有标记。
myMap:setCenter( location )
local function mapmarker( event )
myMap:addMarker( location )
end
timer.performWithDelay( 10000, mapmarker)
5)我也尝试了以下内容。设备上的结果相同,默认为我的位置。
myMap:setCenter( currentXlatitude..","..currentXlongitude)
local function mapmarker( event )
myMap:addMarker( currentXlatitude..","..currentXlongitude)
end
timer.performWithDelay( 10000, mapmarker)
6)我也尝试过“”和“变量”。
7)最后一件事,我尝试使用setcenter添加延迟,但这也没有用。
提前感谢那些可以提供任何建议的人。
答案 0 :(得分:0)
您必须使用单独的函数调用参数:
local function mapmarker( event )
myMap:addMarker( currentXlatitude, currentXlongitude)
end