Spunky Posted April 2, 2015 Share Posted April 2, 2015 (edited) Can anyone tell me why the following code breaks when I use the literal formatting for creating arrays and objects? var map;var bounds = new google.maps.LatLngBounds();var infowindow;var i;(function () { google.maps.Map.prototype.markers = new Array(); google.maps.Map.prototype.addMarker = function(marker) { this.markers[this.markers.length] = marker; }; google.maps.Map.prototype.getMarkers = function() { return this.markers }; google.maps.Map.prototype.clearMarkers = function() { if(infowindow) { infowindow.close(); } for(var i=0; i<this.markers.length; i++){ this.markers[i].set_map(null); } };})();function initialize() { firstB = new google.maps.LatLng(123,-123); secondB = new google.maps.LatLng(123,-123); bounds.extend(firstB); bounds.extend(secondB); var myCoord = new google.maps.LatLng(123,-88.123); var mapOptions = { zoom:14, center:myCoord, disableDefaultUI:true } map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); var styles=[ { featureType:"road", elementType:"labels", stylers:[ {visibility:"off"} ] } ]; map.setOptions({styles: styles});var pinIcon = new google.maps.MarkerImage( 'http://maps.google.com/mapfiles/ms/icons/green-dot.png', null, /* size is determined at runtime */ null, /* origin is 0,0 */ null, /* anchor is bottom center of the scaled image */ new google.maps.Size(52, 52)); var a = new Array(); var t = new Object(); t.name = "name" t.lat = 41.7590721 t.lng = -234 t.address = "234" a[0] = t; var t = new Object(); t.name = "name" t.lat = 123 t.lng = -123 t.address = "123" a[1] = t; for (var i = 0; i < a.length; i++) { var latlng = new google.maps.LatLng(a[i].lat,a[i].lng); map.addMarker(createMarker(a[i].name,latlng)); };}; function createMarker(name, latlng) { var marker = new google.maps.Marker({position: latlng, map: map}); google.maps.event.addListener(marker, "click", function() { if (infowindow) infowindow.close(); infowindow = new google.maps.InfoWindow({content: name}); infowindow.open(map, marker); }); return marker; };google.maps.event.addDomListener(window, 'load', initialize);google.maps.event.addDomListener(window, "resize", function() { google.maps.event.trigger(map, "resize"); map.fitBounds(bounds);}); For example this: var a = new Array(); var t = new Object(); t.name = "name" t.lat = 41.7590721 t.lng = -234 t.address = "234" a[0] = t; var t = new Object(); t.name = "name" t.lat = 123 t.lng = -123 t.address = "123" a[1] = t; Turns into this: var a = []; var t = { name = "name", t.lat = 41.7590721, t.lng = -234, t.address = "234"}; a[0] = t; var t = { name = "name", lat = 123, lng = -123, address = "123", a[1] = t;}; Edited April 2, 2015 by Spunky Link to comment Share on other sites More sharing options...
justsomeguy Posted April 2, 2015 Share Posted April 2, 2015 name = "name",Look at the other places where you create objects. You use a colon to define properties, not an equal sign. Link to comment Share on other sites More sharing options...
Spunky Posted April 3, 2015 Author Share Posted April 3, 2015 name = "name",Look at the other places where you create objects. You use a colon to define properties, not an equal sign. Blast, you're right. I should've known that. I was even on the w3schools website looking at it. Sheesh. Thanks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now