我想要实现的目标:
我被卡住了,因为我无法触发Ajax调用。
代码似乎在警报(“ajax ready”)之后停止运行。我的控制器动作有一个断点,永远不会被击中。
我得到的唯一错误是“nE未定义”,但是如果我在设置值后输入一个警告线,则显示该值,因此我甚至不确定是否相关。 / p>
我已成功使用早期版本的Google地图,V3似乎有点不同。在将它们放入事件监听器之前,我无法获取代码行来设置运行边界。我在Ajax调用中尝试了同样的方法,但没有什么区别。
我知道我没有在ajax调用中将标记添加到地图中,我还没有达到那个部分。
使用Javascript:
.name
答案 0 :(得分:0)
" bounds_changed"当地图边界发生变化时,侦听器将异步触发。你需要把你的AJAX调用调用它的回调函数(当新的边界可用时):
google.maps.event.addListener(map, 'bounds_changed', function () {
bounds = map.getBounds();
nE = bounds.getNorthEast();
sW = bounds.getSouthWest();
alert("ajax ready");
$.ajax({
type: "POST",
url: '/Home/GetMapMarkers',
data: { neLatitude: nE.lat(), neLongitude: ne.lng(), swLatitude: sW.lat(), swLongitude: sW.lng() }
}).done(function (data) {
for (i = 0; i < data.length; i++)
{
var marker = new google.maps.Marker({
position: new google.maps.LatLng(data[i].Latitude, data[i].Longitude),
map: map,
title: data[i].RestaurantName
});
markers.push(marker);
}
});
});