我正在从阿贾克斯我的纬度和LAN值。这是我的示例代码。其实我从我的代码获取我的经纬度值。如果我直接将值传递给javascrip,它可以正常工作。如果我通过ajax使用它不工作。任何人都知道如何解决这个问题。我的谷歌地图回报“最大调用堆栈大小超过”错误
var locations='';
$.ajax({
type: "POST",
url: 'http://www.ajax.com',
async: false,
success: function (msg) {
locations = msg[0];
/*below result is what i am getting from ajax */
//locations=["<a href='#' target='_blank'><b class='blue'>XXX</b></a>", 53.2279753, -1.6115431, 1], ["<a href='#' target='_blank'><b class='blue'>YYY</b></a>", 51.9935422, -1.7021487, 2]
},
error: function() {
}
});
locations = [locations];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: new google.maps.LatLng(-39.92, 151.25),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
var markers = new Array();
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
markers.push(marker);
google.maps.event.addListener(marker, 'click', (function (marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
// Create a new viewpoint bound
var bounds = new google.maps.LatLngBounds();
// Go through each...
$.each(markers, function (index, marker) {
bounds.extend(marker.position);
});
// Fit these bounds to the map
map.fitBounds(bounds);
//AutoCenter();
[当我使用谷歌地图超过最大调用堆栈大小](http:// stackoverflow .COM /问题/ 31866535 /未捕获-的RangeError - 最大呼叫堆栈大小超过-时,我使用的 - 谷歌 - 地图) –
两件事情,第一也许尝试了'locations'对象的反序列化,第二行'位置:new google.maps.LatLng(locations [i] [1],locations [i] [2]),'可以将字符串传递到'LatLng()'函数,该函数指向我的第一个点,尝试转换通过JSON解析器将字符串转换为小数或浮点数。 –