0
上的许多地图我有手风琴(twitter-bootstrap),每个地图上都有。 在foreach中生成手风琴块。地图生成为局部视图,该视图使用经纬度和块ID进行建模。谷歌地图js api。页面
它调用的foreach:
@if (item.Latitude != null)
{
<p>Map:</p>
<div class="map-margin">
@{Html.RenderAction("Map", "Default", new {model = item});}
</div>
}
和行动返回这个局部视图:
@model MPS.Administration.Models.ReportModel
<div id="[email protected]()" style="width: 470px; height: 270px;"></div>
<script type="text/javascript">
$('#[email protected]').ready(function() {
initialize();
});
function initialize() {
var lat = @Model.Latitude;
var lng = @Model.Longitude;
var latlng = new google.maps.LatLng(@Model.Latitude, @Model.Longitude);
debugger;
var mapOptions = {
center: latlng,
zoom: 17,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var name = 'map-canvas-' + @Model.Id.ToString();
var map = new google.maps.Map(document.getElementById(name),mapOptions);
debugger;
// create a marker
var image = '../Content/Images/map_icon.png';
var marker = new google.maps.Marker({
position: latlng,
map: map,
icon: image
});
}
</script>
在布局中,我有JS API的脚本。
现在我有4块,但只有最后有地图块(它只有google
标志和灰色背景没有地图:()在调试器中,我看到lat和lng是相同的所有4倍。问题是我如何调用initialize()map。请帮我解决这个问题