2012-11-09 13 views
5

Ich bin mit Expression 2.5.3 und Google Maps für Expression 3.0.190 (aka 3.1 beta) mit dem folgenden Code:Overring die Karte zoomen, Google Maps für Expression

{exp:gmap:init id="map1" class="gmap" scrollwheel="false" style="width:930px;height:500px" clusterStyles="{url: '/assets/images/cluster-icon-blue.png', textColor: '#fff', textSize: '12', height: 52, width: 53, anchor: [0, 0]}" overviewMapControl="true" overviewMapControlOptions="{opened:true}"} 

{exp:channel:entries channel="people" status="open" disable="categories|category_fields|member_data|pagination" limit="1000" dynamic="no" sort="asc"} 
    {cf_people_geo_location id="map1" show_one_window="true" icon="/assets/images/aabc-map-icon-white.png" infobox="true" offsetY="-45" offsetX="15" closeBoxMargin="5px" class="ui-infobox-dark" closeBoxURL="/themes/third_party/gmap/css/images/white-close-button.png" style="width: '250px'" clearanceX="10" show_one_window="true" clustering="true"} 
     <p><a href="/register/{url_title}/" title="View {title}">View {title} &raquo;</a></p> 
    {/cf_people_geo_location} 
{/exp:channel:entries} 

Ist es möglich, Legen Sie die Zoomstufe fest, die die Karte beim Laden der Seite verwendet. Es scheint, es automatisch basierend auf den Punkten, die gezeichnet werden, zu setzen, aber ich möchte diesen Wert überschreiben und ein paar Kerben vergrößern.

Danke,

Ste

Antwort

1

Verwenden der extend_bounds Parameter und setzen Sie ihn auf "false"

https://objectivehtml.com/google-maps/documentation/tag/marker#extend_bounds

Try this:

{exp:gmap:init id="map1" class="gmap" scrollwheel="false" style="width:930px;height:500px" clusterStyles="{url: '/assets/images/cluster-icon-blue.png', textColor: '#fff', textSize: '12', height: 52, width: 53, anchor: [0, 0]}" overviewMapControl="true" overviewMapControlOptions="{opened:true}" zoom="10"} 

{exp:channel:entries channel="people" status="open" disable="categories|category_fields|member_data|pagination" limit="1000" dynamic="no" sort="asc"} 
    {cf_people_geo_location id="map1" show_one_window="true" icon="/assets/images/aabc-map-icon-white.png" infobox="true" offsetY="-45" offsetX="15" closeBoxMargin="5px" class="ui-infobox-dark" closeBoxURL="/themes/third_party/gmap/css/images/white-close-button.png" style="width: '250px'" clearanceX="10" show_one_window="true" clustering="true" extend_bounds="false"} 
     <p><a href="/register/{url_title}/" title="View {title}">View {title} &raquo;</a></p> 
    {/cf_people_geo_location} 
{/exp:channel:entries} 
+0

Danke für dieses Justin. Da 1 Karte gibt es auf der Seite und 500 Marker, dachte ich nicht einmal innerhalb des Marker-Tages zu suchen, die erweitern Grenzen Parameter hinzuzufügen, um die Zoom-Parameter Arbeit zu machen. Ich habe gerade versucht, Ihre Kombination aus Code und dem Zoom-Parameter funktioniert jetzt. Mir ist aufgefallen, dass du auch den 'center' Parameter hinzufügen musst, ansonsten zentriert er sich auf den Mittelpunkt der Welt, nicht auf die Mitte der Punkte. – Stephen

1

Es gibt einen zoom="" Parameter für die gmap Tags, außer manchmal fand ich es nicht funktioniert (oder ich habe es nicht richtig irgendwie verwenden).

Um es auf das Niveau gezoomt Ich wollte, habe ich manuell einig regulär Google Maps (nicht das Addon) Code näher an das Ende der Seite:

<script> 
    map1_map.setZoom(15); 
</script> 
+0

Es hat nicht funktioniert becaus e Sie haben wahrscheinlich den Parameter extend_bounds = "false" nicht verwendet. Ihr JS ist korrekt (und ist dasselbe, was ich tue), aber standardmäßig hat das Skript die Größe an den Grenzen aller Marker angepasst. Dies geschieht asynchron alle, also, wenn Sie nicht über die Grenzen von Auto erstreckt (extend_bounds = „false“) verhindern, dann wird es nicht korrekt funktionieren, da die Zoom-Methode vor Ausführung * * die Grenzen zurückgeführt werden. (Irgendwie verwirrend) –

+0

Danke für Ihre Antwort mit einer JS-Option, Jason. Klingt so, als ob du den gleichen Fehler mit dem Zoom-Parameter gemacht hättest, der ich war. – Stephen