在主控制器视图中,我们加载部分视图,如下所示: @ Html.Partial(“MapPartial”,型号)
在局部视图中我想渲染一张地图。目前我有一个带有提交按钮的Ajax beginform,它调用控制器动作,onSuccess将数据加载到JavaScript函数中,该函数将地图呈现如下。这很好。
<div id="map"></div>
@using (Ajax.BeginForm("GetData", "Directory", new AjaxOptions { OnSuccess = "mapInit" }))
{
<button class="btn" type="submit">update map</button>
}
更新:好的我知道加载控制器主视图时首先加载JQuery代码/函数但是如何在选择部分视图时自动渲染地图。我不介意使用加载/进度条,可能会延迟一秒钟来渲染地图。请帮忙。
答案 0 :(得分:1)
尝试使用此谷歌地图触发器。
google.maps.event.trigger(map,'resize');
其中“地图”是您的谷歌地图对象
$(document).ready(function () {
$.post('Directory/GetData',{},function(data){
mapInit(data);
},"json");
function mapInit(data) {
$('#MapParial').html(data);
google.maps.event.trigger(map, 'resize');
}
});
答案 1 :(得分:0)
我不知道你想做什么,只是尝试这个帖子功能
$(document).ready(function () {
$.post('Directory/GetData',{},function(data){
mapInit(data);
},"json");
function mapInit(data) {
$('#MapParial').html(data);
}
});