2012-11-09 44 views
5

Tôi đang sử dụng ExpressionEngine 2.5.3 và Google Maps cho ExpressionEngine 3.0.190 (aka 3.1 beta) với đoạn mã sau:Overring mức bản đồ zoom trong Google Maps cho 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} 

Có thể đặt mức thu phóng mà bản đồ sử dụng khi tải trang? Dường như đặt nó tự động dựa trên các điểm được vẽ, nhưng tôi muốn ghi đè giá trị này và phóng to một vài bậc.

Cảm ơn,

Ste

Trả lời

1

Sử dụng tham số extend_bounds và đặt nó vào "false"

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

Hãy thử điều này:

{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

Cảm ơn vì Justin này. Cho rằng có 1 bản đồ trên trang và 500 điểm đánh dấu, tôi thậm chí còn không nghĩ để tìm trong thẻ đánh dấu để thêm tham số giới hạn mở rộng để làm cho tham số thu phóng hoạt động. Tôi vừa thử kết hợp mã của bạn và tham số thu phóng hiện hoạt động. Tôi nhận thấy rằng bạn cần thêm thông số 'center' nữa, nếu không, nó sẽ tập trung vào trung tâm của thế giới, chứ không phải ở trung tâm của các điểm. – Stephen

1

Có một tham số zoom="" cho các thẻ GMap, ngoại trừ đôi khi tôi thấy nó đã không làm việc (hoặc tôi không sử dụng nó một cách chính xác bằng cách nào đó).

Để có được nó thu nhỏ đến mức tôi muốn, tôi tự bổ sung một số thường của Google Maps (không phải là addon) mã gần cuối trang:

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

Nó không làm việc becaus e bạn có thể không sử dụng tham số extend_bounds = "false". JS của bạn là chính xác (và là điều tương tự tôi làm), nhưng theo mặc định kịch bản thay đổi kích cỡ mọi thứ dựa trên giới hạn của tất cả các điểm đánh dấu. Tất cả điều này xảy ra không đồng bộ, vì vậy nếu bạn không ngăn các giới hạn tự động mở rộng (extend_bounds = "false") thì nó sẽ không hoạt động chính xác vì phương thức thu phóng được thực thi * trước * các giới hạn được trả về. (Kinda khó hiểu) –

+0

Cảm ơn bạn đã trả lời bằng tùy chọn JS, Jason. Có vẻ như bạn đang phạm sai lầm tương tự với thông số thu phóng mà tôi đã thực hiện. – Stephen

Các vấn đề liên quan