电晕 - 传递lat,长变量到setcenter和addmarker不工作

时间:2014-03-26 05:08:05

标签: google-maps lua corona

这个问题与使用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添加延迟,但这也没有用。

提前感谢那些可以提供任何建议的人。

1 个答案:

答案 0 :(得分:0)

您必须使用单独的函数调用参数:

local function mapmarker( event )
    myMap:addMarker( currentXlatitude, currentXlongitude)
end