2015年12月8日 星期二

ParseReact實作(六)--map成功了!

在前面卡住這麼久之後,我終於成功了!其實問題就卡在,我不知道只要create之後,他就會自動去trigger query,這樣一來,就算我在create的同時做了near function,他也會直接去trigger query,我不用去想說怎麼更新誰先更新的問題!
所以,如前幾篇實作所說的,我一樣在createItem裡面做near function,找出那十個之後,我放到一個array裡面


接下來把這個array的東西放到table裡面,方便以後讀取(用來畫地圖上的點)


然後我在上面呼叫map的地方傳入nearest這個array,之前我一直以為,根本還沒捉到點怎麼去找最近的十個點,現在這個根本不是問題!因為你create的當下他就會去trigger了!
很好!爸爸都設定好之後,我們就來看小孩接什麼吧~來看到map.js
先把location接進來,在這邊我想確認是不是成功地成為了array所以給了幾個console.log
其實在成功之前我失敗了幾次,原因是因為我讀進來的東西是geopoint,我不知道怎麼分別得到他們的lat、lng,這個等一下再加入地標的時候我會說明

呈現的結果會是

表示我們傳進來的東西都有接到喔~非常好
接下來就是要把它加到我們的地圖上面了!我們使用的是gmap裡面的addmarker function,由於我們讀進來的是array,我用迴圈包住之後一個一個讀進來加上去


原來是在lat、lng的地方一直抓不到點,因為我原本以為是用parse geopoint的方法去抓(也就是location[i][1].lat)後來恍然大悟!我用的這個component 是react欸!!!!哪來的parse!!!馬上去看我的array,喔~~~原來我的table裡面是長這樣子啊



想當然就是用latitude去get拉!

結果


只要一refresh,不用輸入,他會先去抓最新的那個做顯示,然後等你輸入之後會再更新













之後再點每個地標,就可以顯示出來電話!耶~~~~~~我要哭了!!!!!!

沒有留言:

張貼留言