3

釣り場の場所を表示するためにGmapsシステムが統合されたWordpressを使用してサイトを作成しています。各州に関連付けられた投稿と、カスタムフィールドに入力された経度と緯度が入力されます。マップは正常に機能します。問題は、一部の州に1000以上のマーカーがあるため、ページの読み込みに多少の遅れが生じ、マーカーが互いに積み重なって使用するのがばかげていることです。私たちがやりたいのは、マーカーを表示する前にピンの数に制限を設けることです。明確にするために:

  1. カリフォルニアには1000以上の湖がありますが、例としてアリゾナには約165の湖しかありません。合計が200を超える場合は、「エントリが多すぎます。ズームインして選択範囲を表示してください」などの簡単なメッセージが訪問者に表示されます。それで、
  2. ズームインすると、合計が再計算され、200未満になると(または実際に設定された制限があれば、それを超える状態が非常に多くなります)、ズームインされた領域に応じてマーカーが表示されます。

状態ページに到達したときのビューには、状態全体とすべてのマーカーが表示されます。カウントが200を超える場合は、ズームインするなどのメッセージを表示するだけです。最終的には50,000を超える湖がリストされるため、この変更はページの読み込みに大いに役立ちます。

データを取得して地図を表示する、現在使用しているコードは次のとおりです。

<script type="text/javascript">
jQuery(document).ready(function(){
  function initialize() {
    var myLatlng = new google.maps.LatLng(<?php echo $center_final; ?>);
    var myOptions = {
      zoom: <?php echo $zoom; ?>,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.<?php echo $type; ?>
    };
    var map = new google.maps.Map(document.getElementById("featured_overview"),  myOptions);
    <?php if(get_option('woo_maps_archive_scroll') == 'true'){ ?>
    map.scrollwheel = false;
    <?php } ?>
    <?php foreach($coords as $c_key => $c_value) { ?>
    var point = new google.maps.LatLng(<?php echo $c_value['coords']; ?>);
    var root = "<?php bloginfo('template_url'); ?>";
    var the_link = '<?php echo get_permalink($c_key); ?>';
    <?php $title = str_replace(array('&#8220;','&#8221;'),'"',get_the_title($c_key)); ?>
    <?php $title = str_replace('&#8211;','-',$title); ?>
    <?php $title = str_replace('&#8217;',"`",$title); ?>
    <?php $title = str_replace('&#038;','&',$title); ?>
    var the_title = '<?php echo html_entity_decode($title) ?>';
    var color = '<?php echo $c_value['color']; ?>';
    createMarker(map,point,root,the_link,the_title,color);
    <?php } ?>
  }
  initialize();
});
</script>

どんな助けでも大歓迎です。皆様、ありがとうございました。

4

1 に答える 1

2

MarkerClustererライブラリを使用しない理由。このようなシナリオ向けに設計されているため、クラスタリングの解像度と距離を設定できます。..また、イベントをバインドすることもできます (200 のような数を主張する場合)。

(実際、私は未リリースのワードプレス プラグインを持っています。このプラグインは、マップを挿入し、投稿ごとにクラスタリングを修正します)

于 2012-07-12T05:30:39.143 に答える