2012-11-09 5 views
5

sto utilizzando ExpressionEngine 2.5.3 e Google Maps per ExpressionEngine 3.0.190 (aka 3.1 beta) con il seguente codice:sopraanello il livello di zoom della mappa su Google Maps per ExpressionEngine

{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} 

E 'possibile imposta il livello di zoom che la mappa utilizza al caricamento della pagina? Sembra impostarlo automaticamente in base ai punti che vengono tracciati, ma mi piacerebbe scavalcare questo valore e ingrandire alcune tacche.

Grazie,

Ste

risposta

1

Utilizzare il parametro extend_bounds e impostarlo su "false"

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

Prova questa:

{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

Grazie per questo Justin. Dato che c'è una mappa sulla pagina e 500 marker, non ho nemmeno pensato di guardare all'interno del tag marker per aggiungere il parametro extend bounds al fine di far funzionare il parametro zoom. Ho appena provato la tua combinazione di codice e il parametro di zoom ora funziona. Ho notato che è necessario aggiungere anche il parametro "centro", altrimenti si concentra sul centro del mondo, non sul centro dei punti. – Stephen

1

C'è un parametro zoom="" per i tag gmap, tranne a volte l'ho trovato non ha funzionato (o non l'ho usato in modo corretto in qualche modo).

per farlo ingrandita al livello che volevo, ho aggiunto manualmente alcuni regolari Google Maps (non l'addon) codice di più vicino alla fine della pagina:

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

non ha funzionato becaus e probabilmente non hai usato il parametro extend_bounds = "false". Il tuo JS è corretto (ed è la stessa cosa che faccio), ma per impostazione predefinita lo script ridimensiona le cose in base ai limiti di tutti i marcatori. Tutto ciò avviene in modo asincrono, quindi se non impedisci i limiti dall'estensione automatica (extend_bounds = "false") allora non funzionerà correttamente perché il metodo di zoom è eseguito * prima * i limiti vengono restituiti. (Un po 'di confusione) –

+0

Grazie per la tua risposta con un'opzione JS, Jason. Sembra che tu stessi facendo lo stesso errore con il parametro di zoom che ero. – Stephen