Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial
Jim Shook
4,871 PointsOn line 27, set the variable "infoWindow" to a "new google.maps.InfoWindow"
http://teamtreehouse.com/library/adding-info-windows
It looks like for the first challenge, you have to set the variable on line 17, not on line 27 as it says.
At least for me, setting var infoWindow = new google.maps.InfoWindow({content:"Magic Kingdom"}); on line 17 passed when it did not pass by declaring it on line 27.
1 Answer
Andrew Chalkley
Treehouse Guest TeacherThis code works for me:
var mapOptions = {
center: new google.maps.LatLng(28.42, -81.58),
zoom: 18,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var mapElement = document.getElementById("map");
var theMap = new google.maps.Map(mapElement, mapOptions);
var markers = new Array();
var geocoder = new google.maps.Geocoder();
var bounds = new google.maps.LatLngBounds();
var geocoderOptions = {address: "Magic Kingdom, Disney World"};
var markerImage;
var infoWindow;
geocoder.geocode(
geocoderOptions,
function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({map: theMap, position: results[0].geometry.location});
markers.push(marker);
bounds.extend(results[0].geometry.location);
theMap.fitBounds(bounds);
infoWindow = new google.maps.InfoWindow({content:"Magic Kingdom"});
}
}
)
If you put var infront on line 27 it probably won't work as it's keeping that particular infoWindow defined in the scope of geocoder callback.