javascript - Looping through JSON to place markers on a Google map -
i trying generate google map using jquery , javascript. values latitude , longitude stored in json file. when user clicks state name needs generated.
the problem code graph getting genrated index[0]. loop not working appropriately. graph new york generated points nepal rather new york. here code:
for (var 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!' }); }; the json file:
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 } ] };
your problem re-generating map every iteration within for loop.
try taking outside, , change for in for:-
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 }] }; var map = new google.maps.map(document.getelementbyid('map'), { center: { lat: 33, lng: 100 }, scrollwheel: false, zoom: 3 }); (var = 0; < data.universitylist.length; i++) { var lat = data.universitylist[i].lat; var lng = data.universitylist[i].lng; console.log(i, lat, lng); var marker = new google.maps.marker({ map: map, position: { lat: lat, lng: lng }, title: 'hello world!' }); }; #map { height: 400px; } <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js"></script> <div id="map"></div>
Comments
Post a Comment