gpt4 book ai didi

javascript - JQuery 函数不打印任何内容

转载 作者:行者123 更新时间:2023-12-03 12:22:11 24 4
gpt4 key购买 nike

我试图让它工作这个 jquery 函数,但没有任何结果。就这个。它从 setmap(一个 servlet)接收一个 json 格式的列表。我完全确定我得到了列表,但不幸的是我没有看到 map 出现在屏幕上。

$(document).ready(function(){

$("#airports").click(function(){

$.getJSON('setmap', function(list) {

var mapOptions = {
zoom: 2,
mapTypeId: new google.maps.MapTypeId.TERRAIN
};

$('.grid_12').append($("<div id='mapCanvas'></div>"));

var map = new google.maps.Map(mapCanvas, mapOptions);

if(list.length > 0)
{
for (var i = 0; i < list.length; i++)
{
var latLng = new google.maps.LatLng(list[i].latitude,list[i].longitude);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
}
}

});

});
});

HTML

<article>
<section class="grid_12"></section>
</article>

最佳答案

在这一行中:

var map = new google.maps.Map(mapCanvas, mapOptions); 

mapCanvas 未定义。它可能在某些浏览器中隐式工作,因为某些浏览器将为每个 ID 定义一个符号,但您确实不应该依赖它。我假设你想在那里传递 DOM 元素(这就是谷歌地图想要的),所以你可以像这样更明确地做到这一点:

var mapCanvas = ($("<div id='mapCanvas'></div>").appendTo('.grid_12'))[0];
var map = new google.maps.Map(mapCanvas, mapOptions);

由于您没有提供可运行的演示,因此可能还有其他错误。

关于javascript - JQuery 函数不打印任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com