Javascript 通过JSON循环在Google地图上放置标记

Javascript 通过JSON循环在Google地图上放置标记,javascript,jquery,json,Javascript,Jquery,Json,我正在尝试使用jQuery和javascript生成google地图。纬度和经度的值存储在JSON文件中。当用户单击状态名称时,需要生成该名称 我的代码的问题是,图形只针对索引[0]生成。我的for循环工作不正常。生成了纽约的图形,但它指向尼泊尔而不是纽约。这是我的密码: for (var i in data.universitylist) { var lat = data.universitylist[i].lat; var lng = data.universitylist[

我正在尝试使用jQuery和javascript生成google地图。纬度和经度的值存储在JSON文件中。当用户单击状态名称时,需要生成该名称

我的代码的问题是,图形只针对
索引[0]
生成。我的for循环工作不正常。生成了纽约的图形,但它指向尼泊尔而不是纽约。这是我的密码:

for (var i in data.universitylist) {
    var lat = data.universitylist[i].lat;
    var lng = data.universitylist[i].lng;

    var map = new google.maps.Map(document.getElementById('map'), {
        center: {
            lat: lat,
            lng: lng
        },
        scrollwheel: false,
        zoom: 8
    });
    var marker = new google.maps.Marker({
        map: map,
        position: {
            lat: lat,
            lng: lng
        },
        title: 'Hello World!'
    });
};
JSON文件:

var data = {
    "universitylist": [{
            "Name": "Columbia University",
            "City": "New York",
            "State": "NY",
            "lat": 40.7127,
            "lng": 74.0059
        },{
            "Name": "Stanford University",
            "City": "Stanford,",
            "State": "CA",
            "lat": 37.0000,
            "lng": 120.0000
        },{
            "Name": "Duke University",
            "City": "Durham",
            "State": "NC",
            "lat": 35.5000,
            "lng": 80.0000
        },{
            "Name": "University of Pennsylvania",
            "City": "Philadelphia",
            "State": "PA",
            "lat": 41.0000,
            "lng": 77.5000
        },{
            "Name": "Northcentral University",
            "City": "Prescott Valley",
            "State": "AZ",
            "lat": 34.0000,
            "lng": 112.0000
        },{
            "Name": "Johns Hopkins University",
            "City": "Baltimore",
            "State": "MD",
            "lat": 39.0000,
            "lng": 76.7000
        }, {
            "Name": "Northwestern University",
            "City": "Evanston",
            "State": "IL",
            "lat": 40.0000,
            "lng": 89.0000
        },{
            "Name": "Rice University",
            "City": "Houston",
            "State": "TX",
            "lat": 31.0000,
            "lng": 100.0000
        },{
            "Name": "University of Southern California",
            "City": "Los Angeles",
            "State": "CA",
            "lat": 37.0000,
            "lng": 120.0000
        },{
            "Name": "Georgia Institute of Technology",
            "City": "Atlanta",
            "State": "GA",
            "lat": 32.9605,
            "lng": 83.1132
        }
    ]
};

您的问题是您正在为
for
循环中的每个迭代重新生成映射

尝试将其带到室外,并将您的
for in
更改为
for
:-

var数据={
“大学列表”:[{
“名称”:“哥伦比亚大学”,
“城市”:“纽约”,
“州”:“纽约”,
“lat”:40.7127,
“液化天然气”:74.0059
}, {
“名称”:“斯坦福大学”,
“城市”:“斯坦福,”,
“州”:“CA”,
“lat”:37.0000,
“液化天然气”:120.0000
}, {
“名称”:“杜克大学”,
“城市”:“达勒姆”,
“状态”:“NC”,
“lat”:35.5000,
“液化天然气”:80.0000
}, {
“名称”:“宾夕法尼亚大学”,
“城市”:“费城”,
“州”:“PA”,
“lat”:41.0000,
“液化天然气”:77.5000
}, {
“名称”:“中北大学”,
“城市”:“普雷斯科特山谷”,
“州”:“AZ”,
“lat”:34.0000,
“液化天然气”:112.0000
}, {
“名称”:“约翰霍普金斯大学”,
“城市”:“巴尔的摩”,
“州”:“MD”,
“lat”:39.0000,
“液化天然气”:76.7000
}, {
“名称”:“西北大学”,
“城市”:“埃文斯顿”,
“州”:“IL”,
“lat”:40.0000,
“液化天然气”:89.0000
}, {
“名称”:“莱斯大学”,
“城市”:“休斯顿”,
“州”:“TX”,
“lat”:31.0000,
“液化天然气”:100.0000
}, {
“名称”:“南加州大学”,
“城市”:“洛杉矶”,
“州”:“CA”,
“lat”:37.0000,
“液化天然气”:120.0000
}, {
“名称”:“格鲁吉亚理工学院”,
“城市”:“亚特兰大”,
“州”:“GA”,
“lat”:32.9605,
“液化天然气”:83.1132
}]
};
var map=new google.maps.map(document.getElementById('map'){
中心:{
拉脱维亚:33,
液化天然气:100
},
滚轮:错误,
缩放:3
});
对于(变量i=0;i
#地图{
高度:400px;
}

您现在的代码运行正常:。你能用一个例子来说明这个问题吗。如果标记被放置在错误的位置,那么听起来就像你的lat/lng值不正确。谢谢你的回答……)但问题是你在脚本部分中存储json数据,而不是将其作为外部json文件。你完全正确,但当我试图从ext json获取纬度和经度时文件,我没有得到结果