[英]Update data sent to view from controller
我正在使用Google Maps API制作地圖,該地圖將顯示玩家在服務器上的當前位置。 該列表由游戲服務器更新,數據存儲在Web應用程序所在的MySql數據庫中。 當用戶打開地圖時,玩家列表及其位置將從數據庫中提取並發送到View
public ActionResult Index()
{
return View(loadData()); //List<MapModel>
}
在“視圖”上,我為每個玩家各自的位置創建一個標記。 我有一個計時器,它將創建/更新/刪除標記(我已刪除了此演示的不必要代碼)
setInterval("updateMap();", 1000);
function updateMap()
{
**<update data somehow>**
@foreach(var player in Model)
{
<text>
players[@player.playerid] = new google.maps.Marker({
position: SanMap.getLatLngFromPos(@player.pos_x, @player.pos_y),
map: map
});
</text>
}
}
問題是如何更新數據?
嘗試這樣的事情。
public JsonResult GetPlayers()
{
return Json(loadData()); //List<MapModel>
}
然后在JavaScript中使用jquery post方法
function updateMap()
{
$.post('/SomeController/GetPlayers', function(data){
for(var i =0; i<data.length; i++)
{
players[data[i].playerid] = new google.maps.Marker({
position: SanMap.getLatLngFromPos(data[i].pos_x, data[i].pos_y),
map: map
});
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.