2014-10-07 31 views
1

我正在使用Google Maps API。我的地圖顯示在我的頁面上,我可以手動添加標記,一切工作正常。如何讓asp.net mvc控制器與Google Maps API交談 - 動態添加標記

現在我需要從mvc中創建一個標記列表,並找出如何通過asp.net MVC將它傳遞迴地圖。我需要的所有標記列表都包含在下面顯示的dtDealer_List中。

foreach (DataRow row in dtDealer_List.Rows) 
     { 
      dealer_list dl = new dealer_list(); 
      dl.address = row["address"].ToString(); 
      ....... 
      lstDealer_List.Add(dl); 
     } 

我不確定如何將此列表傳遞迴javascript函數。

function init_map(map_canvas_id, lat, lng, zoomLevel) { 
      var myLatLng = new google.maps.LatLng(lat, lng); 

      var options = { 
       zoom: zoomLevel, 
       center: myLatLng, 
       mapTypeId: google.maps.MapTypeId.HYBRID 
      }; 

      var map_canvas = document.getElementById(map_canvas_id); 

      var map = new google.maps.Map(map_canvas, options); 
     } 

是否需要將dtDealer_List拉出到ajax調用中?

+0

你在頁面加載時是否準備好了'dtDealer_List'?如果是這樣,您可以將其用作模型或將其發送到ViewBag中。如果不是,則需要使用AJAX – Jonesopolis 2014-10-07 16:41:01

+0

dtDealer_List作爲模型傳遞給頁面。我如何使用它來填充javascript/jQuery函數調用? @Jonesy – 2014-10-07 16:44:26

+0

@Jonesy我會玩弄它找到一些關於傳遞模型到JavaScript的文章。感謝這個想法。 – 2014-10-07 16:56:56

回答

1

在你的頁面的頂部添加一個小腳本來建立從列表中的JavaScript數組:

@model List<string> 

<script> 
    var addresses = []; 
    @foreach (var address in Model) 
    { 
     <text>addresses.push('@address')</text> 
    } 
    console.log(addresses); 
</script> 

,那麼你應該能夠訪問全球addresses數組,你需要

+0

我會玩弄一下,然後報告一下,謝謝。 – 2014-10-07 17:13:04

+0

很高興你能使它工作@JamesWilson – Jonesopolis 2014-10-09 17:02:44

相關問題