Hi Michael, As Rossko said, you are creating a layer every time. Instead, create the layer once, on initialize then toggle it.
Step 1 - Set it as a global var trafficLayer; Step 2 - Create the layer in your initialize() function trafficLayer = new google.maps.TrafficLayer(); Step 3 - Remove the new layer reference from togglTraffic //trafficLayer = new google.maps.TrafficLayer(); So simply put, you create the traffic layer on page load, but only "set" it when you click your control Hope this has helped On Jun 22, 8:39 am, Rossko <[email protected]> wrote: > > I have a toggle function that handles this: > > > function toggleTraffic (toggle, map) { > > var trafficLayer = new google.maps.TrafficLayer(); > > if (toggle) { > > trafficLayer.setMap(map); > > } else { > > alert("Should Work"); > > trafficLayer.setMap(null); > > } > > } > > > I get the alert "Should Work", but the traffic layer persists. > > Which layer? Every time you run that function, you create a new > layer. Creating a new layer and immediately 'hiding' it, won't change > anything about any layer you may have created before. -- 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.
