在資料庫儲存商品在地圖上的x,y座標位置 (假定同樣商品都會放在固定的位置)
搜尋商品,先讀取兩個商品,以arc_tan((start1.y - start2.y) / (start1.x - start2.x))找出目前行進角度與方向,運算出到達目標商品的最短路徑。 (目前是假定無wifi,等wifi定位完成再想辦法整合)(由client運算)
在地圖上標示可行進的點,作為計算最短路徑的依據。(須討論地圖的資料表示方式)
Client將兩個起點與一個終點的座標傳至Server端運算出路徑,並傳回最短路徑陣列(以起點與終點表達單一直線路徑(start, end),多個直線路徑組成一個完整路徑)。例如,傳入 start1(0,0), start2(0,10) , dest(10, 20)(螢幕左上角為 0,0),假設走斜線有障礙物,只能走直線與橫線,則傳回 {Path[start(0,0), end(0,20)](先走直線,因目前方向為向南方走), Path[start(0,20), end(10,20)]}
client請求格式:<Request type="find_path">
request回應格式:
<Map name="地圖名稱" />
<Start x="XX" y="XX" /> -> 目前位置
<Destination x="XX" y="XX" /> 目標商品的位置
</Request><Response type="find_path_success">
<Map name="地圖名稱" block_size="區塊大小" />
<Path>
<Start x="XX" y="XX" />
<End x="XX" y="XX" />
</Path>
<Path>
<Start x="XX" y="XX" />
<End x="XX" y="XX" />
</Path>
...
</Response>
2009年12月25日 星期五
RFID定位目前計畫-更正
2009年12月24日 星期四
CheckOut 的XML格式-更正
client 向 server 提出 checkout 要求時的XML格式
<Request type="checkout">
<account id="會員編號" />
<products>
<product id="編號" amount="數量"/>
<product id="編號" amount="數量"/>
...
</products>
</Request>
<account id="會員編號" />
<products>
<product id="編號" amount="數量"/>
<product id="編號" amount="數量"/>
...
</products>
</Request>
之後 server 會回傳以下的XML
<Response type="checkout_success">
<cashier id="收銀檯編號" />
</Response>
<cashier id="收銀檯編號" />
</Response>
訂閱:
意見 (Atom)