ruby on rails - Javascript - Different markers for different types -
i'm working on customizing google markers on map. upon searching single area, results return map markers of restaurants, parks, , meetups. i'm trying give different marker icons depending on type of result. added 'type' argument addmarker function (whatami) , depending on case, should switch correct marker. none of markers showing up.
maps.js:
function addmarker(latitude, longitude, title, whatami) { switch (whatami) { case 'park': righticon = "'/assets/parkmarker.png'"; break; case 'rest': righticon = "'/assets/restaurantmarker.png'"; break; case 'meetup': righticon = "'/assets/meetupmarker.png'"; break; } var markerlatlng = new google.maps.latlng(latitude, longitude); var marker = new google.maps.marker({ position: markerlatlng, map: map, icon: righticon, title: title }); markers.push(marker); latlng.push(markerlatlng); }; createevent.js.erb:
<% @restaurants.each |item| %> addmarker(<%= item.latitude %>,<%= item.longitude %>,'<%= item.name %>','rest'); <% end %> <% @meetups.each |item| %> addmarker(<%= item.latitude %>,<%= item.longitude %>,'<%= item.name %>','meetup'); <% end %> <% @parks.each |item| %> addmarker(<%= item.latitude %>,<%= item.longitude %>,'<%= item.name %>','park'); <% end %> if remove switch statement works fine. can spot i'm going wrong?
at quick glance you've unnecessarily doubled on quotes, haven't declared righticon variable within function how this:
function addmarker(latitude, longitude, title, whatami) { var markerlatlng = new google.maps.latlng(latitude, longitude); var markersettings = { position: markerlatlng, map: map, title: title } // way still use default marker when there none set switch (whatami) { case 'park': markersettings.icon = '/assets/parkmarker.png'; break; case 'rest': markersettings.icon = '/assets/restaurantmarker.png'; break; case 'meetup': markersettings.icon = '/assets/meetupmarker.png'; break; } var marker = new google.maps.marker(markersettings); markers.push(marker); latlng.push(markerlatlng); };
Comments
Post a Comment