api - Fusion Table Google Maps Second Javascript Drop-Down Menu not working -
api - Fusion Table Google Maps Second Javascript Drop-Down Menu not working -
right creating map have javascript menu allowing users alter different map views using google fusion table overlays. first dropdown menu works charm. however, sec dropdown menu not work other. 2 work together. example, select "animals" , "opportunity" , show locations cell info "animals" , "opportunity."
this google maps html page:
<html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <!doctype html> <title>met sacramento internship map</title> <!-- style --> <style> body { font-family: arial, sans-serif; } #map_canvas { height: 500px; width:600px; } </style> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var tableid = 567682; var layer = new google.maps.fusiontableslayer(567682); function initialize() { var latlng = new google.maps.latlng(38.59970036588819, -121.541748046875); var myoptions = { zoom: 8, center: latlng, maptypeid: google.maps.maptypeid.roadmap }; var map = new google.maps.map(document.getelementbyid("map_canvas"), myoptions); layer.setmap(map); } //change query based on user's selection function interestmap(interest) { layer.setquery("select address, 'interest area' " + tableid + " 'interest area' contains '" + involvement + "'"); } function statusmap(status) { layer.setquery("select address, 'status' " + tableid + " 'status' contains '" + status + "'"); } </script> </script> </head> <body onload="initialize();"> internship status <select onchange="interestmap(this.value);"> <option value="">interest areas</option> <option value="aerospace">aerospace</option> <option value="animals">animals</option> <option value="architecture">architecture</option> <option value="art/music/theatre">art/music/theatre</option> <option value="athletics , martial arts">athletics</option> <option value="automotive , transportation">automotive</option> <option value="bicycles">bicycles</option> <option value="business">business</option> <option value="community development">community development</option> <option value="computers">computers</option> <option value="cosmetology">cosmetology</option> <option value="culinary">culinary</option> <option value="education">education</option> <option value="government , politics">politics</option> <option value="health science">health science</option> <option value="hospitality/tourism/event planning">event planning</option> <option value="law , public safety">law , public safety</option> <option value="marketing">marketing</option> <option value="media , info technology">media</option> <option value="photography">photography</option> <option value="science , technology">science , technology </option> <option value="social services">social services</option> </select> status <select onchange="statusmap(this.value);"> <option value="">status</option> <option value="being pursued">being pursued</option> <option value="has intern">has intern</option> <option value="not taking">not taking</option> <option value="opportunity">opportunity</option> <option value="over 18">over 18</option> <option value="potential?">potential</option> <option value="see notes">see notes</option> </select> <div id="map_canvas"></div> </body> </html>
here the: fusion table
here the: live code
all help appreciated! thanks.
here's solution - tested in chrome ;) - note new button, refreshfusion method , id attributes on 2 select elements.
<!doctype html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>met sacramento internship map</title> <!-- style --> <style> body { font-family: arial, sans-serif; } #map_canvas { height: 500px; width:600px; } </style> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var tableid = 567682; var layer = new google.maps.fusiontableslayer(567682); function initialize() { var latlng = new google.maps.latlng(38.59970036588819, -121.541748046875); var myoptions = { zoom: 8, center: latlng, maptypeid: google.maps.maptypeid.roadmap }; var map = new google.maps.map(document.getelementbyid("map_canvas"), myoptions); layer.setmap(map); } function refreshfusion() { var qry = "select address, 'status' " + tableid; var involvement = document.getelementbyid('ddlinterest').value; var status = document.getelementbyid('ddlstatus').value; var filters = []; if(interest != '') { filters.push("'interest area' contains '" + involvement + "'"); } if(status != '') { filters.push("'status' contains '" + status + "'"); } if(filters.length > 0) { qry += " " + filters.join(" , "); } layer.setquery(qry); } </script> </script> </head> <body onload="initialize();"> <p>internship status <select id="ddlinterest"> <option value="">interest areas</option> <option value="aerospace">aerospace</option> <option value="animals">animals</option> <option value="architecture">architecture</option> <option value="art/music/theatre">art/music/theatre</option> <option value="athletics , martial arts">athletics</option> <option value="automotive , transportation">automotive</option> <option value="bicycles">bicycles</option> <option value="business">business</option> <option value="community development">community development</option> <option value="computers">computers</option> <option value="cosmetology">cosmetology</option> <option value="culinary">culinary</option> <option value="education">education</option> <option value="government , politics">politics</option> <option value="health science">health science</option> <option value="hospitality/tourism/event planning">event planning</option> <option value="law , public safety">law , public safety</option> <option value="marketing">marketing</option> <option value="media , info technology">media</option> <option value="photography">photography</option> <option value="science , technology">science , technology </option> <option value="social services">social services</option> </select> status <select id="ddlstatus"> <option value="">status</option> <option value="being pursued">being pursued</option> <option value="has intern">has intern</option> <option value="not taking">not taking</option> <option value="opportunity">opportunity</option> <option value="over 18">over 18</option> <option value="potential?">potential</option> <option value="see notes">see notes</option> </select> <input type="button" value="run query" onclick="refreshfusion();" /></p> <div id="map_canvas"></div> </body> </html>
javascript api google-maps google-fusion-tables
Comments
Post a Comment