Google Maps, Ruby on Rails, Zoomlevel mit einem Marker

8

Ich füge google maps support mit apneadiving / Google-Maps-for-Rails hinzu (danke an ein tolles Juwel)

Ich finde jedoch einen kleinen Fehler, der sehr wahrscheinlich meine Schuld ist.

auto_zoom funktioniert hervorragend, wenn mehrere Marker vorhanden sind. Wenn es jedoch nur einen Marker gibt, wird auf den Maximalwert gezoomt, der nicht hübsch ist.

"Zoom" funktioniert nur, wenn auto_zoom falsch ist, das ist nicht das, was ich will.

Sie können also "maxZoom" verwenden, aber Benutzer können jetzt nicht manuell über diesen Punkt heranzoomen, was ich nicht möchte.

Gibt es einen Weg dazu? Ergibt meine Erklärung Sinn? Ist dies eine Einschränkung der Google Maps-API?

Danke ...

    
Enric Ribas 28.04.2011, 16:36
quelle

3 Antworten

17

Dieses Verhalten ist auf die integrierte Funktion auto_zoom in Google Maps API zurückzuführen.

Um dies zu umgehen, müssen Sie es auf false in der Methode gmaps setzen:

%Vor%

Und dann benutze gmaps4rails_callback , um deine Bedürfnisse zu erfüllen (stelle sicher, dass du mindestens Version 0.7.9 hast)

%Vor%     
apneadiving 28.04.2011, 19:51
quelle
2

Ich habe das auf eine etwas andere Weise erreicht, da ich weiß, dass ich immer nur einen Marker auf meiner Karte haben werde. Ich bin relativ neu bei Schienen, aber diese Methode fühlt sich ein wenig "sauberer" an, als JS aus Ihrer Sicht zu verwenden.

Ich habe lat und lng in meinem Modell gespeichert (codiert von Geokit zum Zeitpunkt der Erstellung), so tat das folgende aus meiner Sicht:

%Vor%

@markers ist mein JSON, das von blah.to_gmaps4rails erstellt wurde, und "Listing" ist mein Modell.

    
DaveStephens 30.04.2011 13:46
quelle
0

Danke, das hat mir geholfen ...

 {"auto_zoom" = & gt; false, "Zoom" = & gt; 15, "center_latitude" = & gt; @listing.lat, "center_longitude" = & gt; @listing.lng},        "Markierungen" = & gt; {"Daten" = & gt; @markers}       }) % & gt;     
jimmi 27.06.2013 04:19
quelle