我正在使用此调用将 Bing 地图添加到页面中:
var geocodeRequest = "http://dev.virtualearth.net/REST/v1/Locations?query=" + encodeURI(AddressString) + "&output=json&jsonp=GeocodeCallback&key=" + credentials;
当它直接在页面 javaScript 标记中使用时,它工作正常。我想在不同的页面中重用它,所以我试图提取一个局部视图并使用 Ajax 调用在不同的页面中按需调用它。
这是控制器
public ActionResult ShowMap(string address)
{
MapHandlerModel model = new TheList20Site.MapHandlerModel { Title = "Address", Address = address, OriginalHeight = 400, OriginalWidth = 500, SmallHeight = 0, SmallWidth = 500, Speed = 500 };
return PartialView("prtMap", model);
}
并且调用是通过这个 ajax 方法发生的:
$.ajax({
url: "/Project/ShowMap",
type: "Post",
data: { address: AddressString },
success: function (data) {
$("#divMapPlaceholder").html(data);
}
});
当我使用这个ajax调用时,调用“GeocodeCallback”函数有很大的延迟,所以地图没有指向任何地方,但是在刷新地图(不是页面)之后它工作正常!
还有一件事......如果我使用 HtmlHelper partial 调用这个局部视图(如下面的代码),它工作正常......但我仍然需要按需调用它(如完成某些表格等)
@{
@Html.Partial("prtMap", model)
}
我不知道出了什么问题...
谢谢你。