我現在基本的想法是,將結果的10個點組成array傳入Map.js,在Map.js中把addMarker()放在迴圈中,如此就可在同一地圖上畫出很多點。
我嘗試將死的點餵給他,(每次都先從最笨的開始哈哈哈哈)
出現的結果,點擊還能有文字內容
目前我的問題是,我將讀進來的點存到parse的table,並同時利用這個點去query.near(),找到10個點之後我將它存成一個2D array。
第一:我要怎麼通知TodoList我的array已經產生好了?console.log上面顯示的順序看來,每次還沒產生完新的object,Map的lat、lng就已經被render了啊!!!
第二:如果這樣的方法不可行,我就必須在observe()裡面就產生query,那query裡面可以傳參數嗎?例如:
new Parse.Query('Taipei').near("location",new Parse.GeoPoint( lastItem.lat, lastItem.lng))
結果:
雖然結果是不行,但是我覺得是因為看不懂lastItem是什麼,畢竟他是一個query,如果可以把輸入的點keep住,這個方法或許可行。
第三:以程式順序來說,observe()的query是最先執行的,然後再透過render去呼叫其他需被傳入的參數,可是!!!!為什麼明明在後面被呼叫的 ParseReact.Mutation.Create可以trigger到query?因為輸出的query是有增加新object的,這表示其實query不用更新嗎?只要mutation到他就會自己被更新嗎?
結合以上第二第三,我們將點定義為global變數,然後在query中使用它
Map不能分開,我原來的想法是在lastItem傳兩個參數進去,在nearbyItems再傳兩個進去,這樣一來中心點跟需要被加上去的十個點可以分開處理,可是結果好像不行,有這樣的訊息
於是我把兩個呼叫Map的四個參數全部補滿
第一:會傳五次lat lng給map,可是新的紀錄會一直洗掉前一個,變成只出現一張地圖卻有10張空白地圖的位置,因為實際上我們只要傳一次lat lng就好了啊幹嘛傳10次
第二:LastGeoPoint完全沒有更改到,前面一開始的宣告只是為了可以去query near的點,但是接下來在lastItem內做overwrite的時候就沒辦法了,global變數完全不為所動,以至於接下來沒辦法去用LastGeoPoint
第三:map不能拆開,一次就要給他全部需要接收的參數,不能這邊給兩個下一次再給另外兩個,問題是就是要不同的query才能給
我真的是快被卡死了.................