looks like google pushed my "//Notice no "var" before variable
assignment, that is taken care of above." comment into two lines,
thusly breaking the JS - please either remove or make this one line
again and that should work.  ;)

On May 10, 6:55 pm, Brad <[email protected]> wrote:
> No problem Jack - I definitely understand what it's like getting into
> it.   Try this code and review the changes i made:
>
> <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>VIPER Traffic and Hazmat LIVE</title>
> <script type="text/javascript" 
> src="http://maps.google.com/maps/api/js?sensor=true";></script>
> <script type="text/javascript">
> var initialLocation;
> var statepolice = new google.maps.LatLng(37.502168, -77.542212);
> var Hazmat;
> var RichmondTraffic;
> var StateShelters;
> var trafficLayer;
> var map;
>
> function initialize() {
>   var myOptions = {
>     zoom: 14,
>     mapTypeId: google.maps.MapTypeId.ROADMAP
>   };
>   //Notice no "var" before variable assignment, that is taken care of
> above.
>   map = new google.maps.Map(document.getElementById("map_canvas"),
> myOptions);
>   Hazmat = new 
> google.maps.KmlLayer('https://cop.vdem.virginia.gov/gis_feeds/GeoRSS2.ashx');
>   RichmondTraffic = new 
> google.maps.KmlLayer('http://map.richmondgov.com/Bing/Traffic/georssfeed.ashx');
>   StateShelters = new 
> google.maps.KmlLayer('https://cop.vdem.virginia.gov/gis_feeds/ShelterGeoRSS.ashx');
>   trafficLayer = new google.maps.TrafficLayer();
>
>   //Just to demonstrate the use of toggleLayer
>   toggleLayer(Hazmat);
>   toggleLayer(RichmondTraffic);
>   toggleLayer(StateShelters);
>   toggleLayer(trafficLayer);
>
>   // Safari supports the W3C Geolocation method
>   if(navigator.geolocation) {
>     navigator.geolocation.getCurrentPosition(function(position) {
>       initialLocation = new
> google.maps.LatLng(position.coords.latitude,position.coords.longitude);
>       var placeMarker = new google.maps.Marker({
>         position: initialLocation,
>         map: map,
>       });
>       map.setCenter(initialLocation);
>     }, function() {
>       handleNoGeolocation(browserSupportFlag);
>     });
>   } else {
>     // Browser doesn't support Geolocation
>     handleNoGeolocation();
>   }
>
> }
>
> function handleNoGeolocation() {
>         initialLocation = statepolice;
>         map.setCenter(initialLocation);
>
> }
>
> function toggleLayer(layer) {
>         if (layer.getMap()) {
>                 layer.setMap(null);
>         } else {
>                 layer.setMap(map);
>         }
>
> }
>
> </script>
> <style>
> DIV.container {
>     width: 100%;
>     height: 50px;
> align: center;
> background-image: 
> url(http://www.gamecarver.com/img/appimages/DivHeaderBG2.png);
> // display: table-cell;
> vertical-align: middle;
>     font-size:medium;
> font-family: sans-serif;
> color: white;
> text-align: center;
> font-weight: bold;
>
> }
>
> </style>
> </head>
> <body style="margin:0px; padding:0px;" onload="initialize()">
>   <div style="width:100%; height:385px">
>   <div class="container" ><img 
> src="http://www.gamecarver.com/img/appimages/Header1.png";</div>
>   <div id="map_canvas" style="width:100%; height:100%"></div>
>   <div style="background-image: 
> url(http://www.gamecarver.com/img/appimages/DivHeaderBG2.png);height:
> 25px;
> width: 100%">
>   <button onclick="toggleLayer(RichmondTraffic);"> Traffic Incodents
> </button>
> <button onclick="toggleLayer(Hazmat);"> Hazmat </button>
> <button onclick="toggleLayer(trafficLayer);"> Google Traffic </button>
> </div>
>   </div>
> </body>
> </html>
>
> On May 10, 6:45 pm, Jack Berberette <[email protected]> wrote:
>
> > Thanks for taking your time in this Brad :)  I have implemented the changes
> > but I must something wrong because the map area is just grey now.  Here's
> > the link to the page:http://www.gamecarver.com/viperapp3.html
>
> > Here's the link to a page that has the maps 
> > on:http://www.gamecarver.com/viperapp2.html(thiswas my first attempt)
>
> > Here's the code after the changes....I'm really sorry to be a burden:
>
> > <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>VIPER Traffic and Hazmat LIVE</title>
> > <script type="text/javascript" 
> > src="http://maps.google.com/maps/api/js?sensor=true";></script>
> > <script type="text/javascript">
> > var initialLocation;
> > var statepolice = new google.maps.LatLng(37.502168, -77.542212);
> > var Hazmat;
> > var RichmondTraffic;
> > var StateShelters;
> > var trafficLayer;
> > var map;
>
> > function toggleLayer(layer) {
> >    if (layer.getMap()) {
> >      layer.setMap(null);
> >    } else {
> >      layer.setMap(map);
> >    }
> >  }
>
> > function initialize() {
> >   var myOptions = {
> >     zoom: 14,
> >     mapTypeId: google.maps.MapTypeId.ROADMAP
> >   };
> >   var map = new google.maps.Map(document.getElementById("map_canvas"),
> > myOptions);
> >   var map = new 
> > google.maps.KmlLayer('https://cop.vdem.virginia.gov/gis_feeds/GeoRSS2.ashx');
> >   Hazmat.setMap(map);
> >   var map = new 
> > google.maps.KmlLayer('http://map.richmondgov.com/Bing/Traffic/georssfeed.ashx');
> >   RichmondTraffic.setMap(map);
> >   var map = new 
> > google.maps.KmlLayer('https://cop.vdem.virginia.gov/gis_feeds/ShelterGeoRSS.ashx');
> >   StateShelters.setMap(map);
> >   var map = new google.maps.TrafficLayer();
> >   trafficLayer.setMap(map);
>
> >   // Safari supports the W3C Geolocation method
> >   if(navigator.geolocation) {
> >     navigator.geolocation.getCurrentPosition(function(position) {
> >       initialLocation = new
> > google.maps.LatLng(position.coords.latitude,position.coords.longitude);
> >       var placeMarker = new google.maps.Marker({
> >         position: initialLocation,
> >         map: map,
> >       });
> >       map.setCenter(initialLocation);
> >     }, function() {
> >       handleNoGeolocation(browserSupportFlag);
> >     });
> >   } else {
> >     // Browser doesn't support Geolocation
> >     handleNoGeolocation();
> >   }
>
> >   function handleNoGeolocation() {
> >     initialLocation = statepolice;
> >     map.setCenter(initialLocation);
> >   }
>
> > }
>
> > </script>
> > <style>
> > DIV.container {
> >     width: 100%;
> >     height: 50px;
> > align: center;
> > background-image: 
> > url(http://www.gamecarver.com/img/appimages/DivHeaderBG2.png);
> > // display: table-cell;
> > vertical-align: middle;
> >     font-size:medium;
> > font-family: sans-serif;
> > color: white;
> > text-align: center;
> > font-weight: bold;}
>
> > </style>
> > </head>
> > <body style="margin:0px; padding:0px;" onload="initialize()">
> >   <div style="width:100%; height:385px">
> >   <div class="container" ><img 
> > src="http://www.gamecarver.com/img/appimages/Header1.png";</div>
> >   <div id="map_canvas" style="width:100%; height:100%"></div>
> >   <div style="background-image: 
> > url(http://www.gamecarver.com/img/appimages/DivHeaderBG2.png);height:25px;
> > width: 100%">
> >   <button onclick="javascript:toggleLayer(RichmondTraffic)"> Traffic
> > Incodents </button>
> > <button onclick="toggleLayer(Hazmat)"> Hazmat </button>
> > <button onclick="toggleLayer(trafficLayer)"> Google Traffic </button>
> > </div>
> >   </div>
> > </body>
> > </html>
>
> > On Mon, May 10, 2010 at 8:31 PM, Brad <[email protected]> wrote:
> > > #1) Remove the function toggleLayer definition that you have inside of
> > > initialize function, you only need it defined once, outside of the
> > > init function.
> > > #2)remove references to "var" inside of the init function.  Even
> > > though you did the right thing by defining those variables outside of
> > > the function, when you put "var" in the function again, it is
> > > redefining a locally scoped variable with the same name.  By removing
> > > "var" inside of the init function on variables that were already
> > > defined, you are keeping them in "global" scope.
> > > #3)Add "var map;" to where you are initting the other variables, you
> > > will need the map in global scope in order for the toggleLayer
> > > function to work correctly.
>
> > > On May 10, 6:16 pm, Jack Berberette <[email protected]> wrote:
> > > > Thanks for the response Jason,
>
> > > > I just gave it a try but the toggle doesn't work.  Her's the code did I
> > > mess
> > > > up setting the variables?  Also I'm not sure if I set the toggleLayer
> > > code
> > > > in the right spot:
>
> > > > function toggleLayer(layer) {
> > > >    if (layer.getMap()) {
> > > >      layer.setMap(null);
> > > >    } else {
> > > >      layer.setMap(map);
> > > >    }
> > > >  }
>
> > > > Here's the code for the 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"/>
> > > > <title>VIPER Traffic and Hazmat LIVE</title>
> > > > <script type="text/javascript" src="
> > >http://maps.google.com/maps/api/js?sensor=true";></script>
> > > > <script type="text/javascript">
> > > > var initialLocation;
> > > > var statepolice = new google.maps.LatLng(37.502168, -77.542212);
> > > > var Hazmat;
> > > > var RichmondTraffic;
> > > > var StateShelters;
> > > > var trafficLayer;
>
> > > > function initialize() {
> > > >   var myOptions = {
> > > >     zoom: 14,
> > > >     mapTypeId: google.maps.MapTypeId.ROADMAP
> > > >   };
> > > >   var map = new google.maps.Map(document.getElementById("map_canvas"),
> > > > myOptions);
> > > >   var Hazmat = new google.maps.KmlLayer('
> > >https://cop.vdem.virginia.gov/gis_feeds/GeoRSS2.ashx');
> > > >   Hazmat.setMap(map);
> > > >   var RichmondTraffic = new google.maps.KmlLayer('
> > >http://map.richmondgov.com/Bing/Traffic/georssfeed.ashx');
> > > >   RichmondTraffic.setMap(map);
> > > >   var StateShelters = new google.maps.KmlLayer('
> > >https://cop.vdem.virginia.gov/gis_feeds/ShelterGeoRSS.ashx');
> > > >   StateShelters.setMap(map);
> > > >   var trafficLayer = new google.maps.TrafficLayer();
> > > >   trafficLayer.setMap(map);
>
> > > >   // Safari supports the W3C Geolocation method
> > > >   if(navigator.geolocation) {
> > > >     navigator.geolocation.getCurrentPosition(function(position) {
> > > >       initialLocation = new
>
> ...
>
> read more »

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to