Layar开发:第一个教程问题

时间:2012-02-29 23:35:57

标签: php mysql augmented-reality layar

晚安Stackoverflow Lords&女士们,

我正在尝试开发一个Layar图层以供我的工作使用,但是我在出门时遇到了一些困难。这是场景

我已经下载了Layar为教程Here's the link

提供的示例代码

现在我还没有修改此代码的 ANY

我已经建立了一个名为joejoz_layar的数据库 在该数据库中,我导入了包含的.SQL文件,并创建了两个表,Layer& POI。

现在我只是想知道这个东西是如何连接的以及输出的样子,所以我将所有包含的文件上传到我的服务器,并转到我的盒子上的firstTutorial_simplified.php。

这是我得到的错误:

  

消息:在GetPOI请求中未传递layerName参数。警告:   无法修改标头信息 - 已经发送的标头(输出   开始于firstTutorial_simplified.php:64)in   第225行的firstTutorial_simplified.php   {“layer”:null,“hotspots”:[],“errorCode”:20,“errorString”:“No POI   找到。请调整范围。“}

现在SQL导入确实包含了一个POI,所以我真的很困惑我在这里做错了什么。这是我修改过的config.inc.php:

  define('DBHOST', 'localhost');
  define('DBDATA', 'joejoz_layar');
  define('DBUSER', 'joejo_layar01');
  define('DBPASS', 'XXXXXXXXX');

我试图在其他地方找到答案只是为了碰到瑞典语中的东西......我不会说。与瑞典厨师有关的 NOT 有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

我认为您没有将所有必需值传递给$_GET

例如:$_GET['layerName']$_GET['lat']$_GET['lon']$_GET['radius']

键必须与发送到getRequestParams($keys);第191行

的键/值数组相匹配

firstTutorial_simplified.php中的第56行将$keysisset($_GET[$key])匹配,从而在第59行调用例外(如果缺少)。

这是一个返回json字符串的API,但您需要传递参数

./firstTutorial_simplified.php?layerName=somelayer&lat=12345&lon=12345&radius=12345

直接访问脚本将调用错误,因为没有检查

所以你真的需要todo一些isset()检查否则不运行代码。

答案 1 :(得分:0)

你得到“请调整范围”的事实。并且“找不到POI”意味着它正在工作。只是对图层的查询没有找到范围半径的兴趣点。数据库中的样本POI是阿姆斯特丹的Layar办事处。在layar测试网站上,它在谷歌地图中出现了阿姆斯特丹,但默认情况下,该范围不包括在办公室的位置。如果您使用测试页面上的滑块使您的范围更大,您可能会发现您找到了POI。

我可能错了,但这是我从我的设置[在layar测试网站上查看]得到的第一个教程_simplified.php的响应,如果你改变范围或在测试中移动人,它会找到POI拉亚。我猜您的错误消息比“找不到POI”更严重。请调整范围。我想你的并没有说“回复验证”

Loading layer "ttguyhellowld1"...
found layer = ttguyhellowld1
Loading POIs
Loading POIs for page #1
oauth disabled
POI fwd url = http://home.exetel.com.au/ttguy/layar/firstTutorial_simplified.php?lang=en&countryCode=AU&lon=4.887339&userId=6f85d06929d160a7c8a3cc1ab4b54b87db99f74b&version=6.2&radius=1500&lat=52.377544&layerName=ttguyhellowld1&accuracy=100
Response received from provider, validating...
response code : 200
Response validated, sending it back...
oauth disabled
POI fwd url = http://home.exetel.com.au/ttguy/layar/firstTutorial_simplified.php?lang=en&countryCode=AU&lon=4.887339&userId=6f85d06929d160a7c8a3cc1ab4b54b87db99f74b&version=6.2&radius=1500&lat=52.377544&layerName=ttguyhellowld1&accuracy=100
Response received from provider, validating...
response code : 200
Response validated, sending it back...
Error: No POI found. Please adjust the range.
Loaded 0 POIs

另一方面,如果我将浏览器直接指向firstTutorial_simplified.php 我收到这条消息:

Message: layerName parameter is not passed in GetPOI request.{"layer":null,"hotspots":[],"errorCode":20,"errorString":"No POI found. Please adjust the range."}

但是当从测试站点测试时,该层仍然有效。因此,“在GetPOI请求中未传递”layerName参数“并不致命。