2012-04-01 12 views
0

Ich habe endlich Karten api in jquery Akkordeon umgesetzt, vor allem durchStyling Google Maps API innen Akkordeon

Wechsel
var map; 
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

zu

var map = null; 
return new google.maps.Map($('#map_canvas')[0], myOptions); 


es ist funktional, aber das Styling der Karte und die Markierung sind nicht sichtbar.

var map = null; 

var latlng = new google.maps.LatLng(40.744098,-73.95348); 

function initializeMap() { 

    var myOptions = { 
     zoom: 15, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var styles = [ { 
         featureType: "all", 
         stylers: [ { saturation: -100 }, { invert_lightness: true }, { lightness: 2 }, { gamma: 1.29 } ] 
        }]; 

    return new google.maps.Map($('#map_canvas')[0], myOptions); map.setOptions({styles:styles}); 

    var marker = new google.maps.Marker({ 
        position: latlng, 
        map: map, 
       }); 
} 



$(document).ready(function() { 
    $("#accordion").accordion(); 

    $("#accordion").bind('accordionchange', function(event, ui) { 
     if (ui.newContent.attr('id') == 'tabThree' && !map) 
     { 
      map = initializeMap(); 
     } 
    }); 
}); 

Kennt jemand die korrekte Art und Weise diese Stile?

Antwort

1

return eine Funktion verlassen wird, so alles nach

return new google.maps.Map($('#mapCanvas')[0], myOptions); 

... ignoriert.

Ändern der Reihenfolge:

var styles = [{ 
       featureType: "all", 
       stylers:  [ { saturation: -100 }, 
           { invert_lightness: true }, 
           { lightness: 2 }, 
           { gamma: 1.29 } 
          ] 
        }]; 

var map= new google.maps.Map($('#mapCanvas')[0], myOptions); 
map.setOptions({styles:styles}); 

var marker = new google.maps.Marker({ 
        position: latlng, 
        map: map 
       }); 

return map; 
+0

Dank viel für Ihre Antwort, leider ist diese Rendering der Karte vollständig leer, vielleicht, weil es mit var map = null beginnt. Ich aktualisiere den ursprünglichen Beitrag mit dem gesamten Skript. – user1184254

+0

http://stackoverflow.com/questions/9725229/using-jquery-accordion-hides-most-of-googlemap/9729455#9729455 –

+0

danke noch einmal für Sie helfen. Ich war in der Lage, die Karte und das Akkordeon zu implementieren, aber mein Hauptproblem ist Styling (Farbton/Sat, Gamma, etc) und Marker. Ich bin nicht auf ein einziges Beispiel einer Karte/eines Akkordeons gestoßen, das Styling und Marker beinhaltet ... ist es einfach unmöglich? Entschuldigung für meine Hartnäckigkeit, ich würde das wirklich gerne tun, aber meine js Fähigkeiten sind noch nicht ausreichend vorbereitet ... jeder Link zu einem funktionierenden Beispiel mit Styern/Markern wäre sehr willkommen. – user1184254