Javascript 通过JSON循环在Google地图上放置标记
我正在尝试使用jQuery和javascript生成google地图。纬度和经度的值存储在JSON文件中。当用户单击状态名称时,需要生成该名称 我的代码的问题是,图形只针对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[
索引[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获取纬度和经度时文件,我没有得到结果