我是使用JavaScript和ASP.Net MVC 4的新手。但我試圖在bing地圖中添加多個引腳,來自Razor @Model。我曾嘗試:從Razor模型加載多個Bing地圖引腳
@model IEnumerable<Foundation3SinglePageRWD.Models.Locations>
<div id="map" style="height: 800px; width: 100%"></div>
<script type="text/javascript">
$(function() {
var map = null;
var location = null;
function loadMap() {
// initialize the map
map = new Microsoft.Maps.Map(document.getElementById('map'), {
credentials: "My Bing Map Key",
enableSearchLogo: false
});
}
function showPosition(position) {
function showPosition(position) {
//display position
var location = position.coords;
map.setView({ zoom: 10, center: new Microsoft.Maps.Location(location.latitude, location.longitude) });
//var pushpinOptions = { icon: virtualPath + '/Content/images/foundation/orbit/Push.png' };
var test = '@model';
alert(test);
var pushpin = new Microsoft.Maps.Pushpin(map.getCenter(), null);
for (var i = 0; i < test.l.length; i++) {
map.entities.push(pushpin);
pushpin.setLocation(new Microsoft.Maps.Location(test.latitude, test.longitude));
};
}
}
function positionError(position) {
alert("Error getting position. Code: " + position.code);
}
loadMap();
navigator.geolocation.getCurrentPosition(showPosition, positionError);
});
</script>
控制器:
public ActionResult Index()
{
List<Models.Locations> loc = new List<Models.Locations>();
Models.Locations temp = new Models.Locations("55.473746", "8.447411");
loc.Add(temp);
Models.Locations temp1 = new Models.Locations("55.504991", "8.443698");
loc.Add(temp1);
Models.Locations temp2 = new Models.Locations("55.468283", "8.438");
loc.Add(temp2);
Models.Locations temp3 = new Models.Locations("55.498978", "8.40002");
loc.Add(temp3);
return View(loc);
}
終於型號:
public class Locations
{
public string latitude { get; set; }
public string longitude { get; set; }
public List<Locations> Loca { get; set; }
public Locations(string latitude, string longitude)
{
this.latitude = latitude;
this.longitude = longitude;
}
}
你正在收到什麼錯誤? – frictionlesspulley
您正在定義'@model IEnumerable',但從ViewBag中取出它......另外@ Viewbag.locations在第一個地方是錯誤的將簡單地返回ua字符串而不是JSON或javascript對象 –
frictionlesspulley
@frictionlesspulley:問題是我沒有得到一個錯誤。問題是我無法從模型中找到任何東西。所以問題是我不能做這樣的'@ model.latitude'和'@ model.longitude'。 Viewbag只是我嘗試過的,但沒有使用。還使用'@ model.Count'我得到正確的計數。所以我沒有讓這些對象出現在視圖中。 – mortenstarck