2

座標を持つ何千ものエントリを持つ MySQL データベースがあります。

エントリは次のようになります: id、dt、img、long、lat

とりあえず、mysql の上位 20 をリストします。しかし、特定のポイントに最も近い 20 個のエントリを取得するにはどうすればよいでしょうか? 指定されたポイントは、以下のコードの「中心」です。

画像

<script type="text/javascript">
  $(document).ready(function(){
    var myMarkers = {"markers": [   
    <?php 
      $query="SELECT id, dt, img, long, lat FROM places LIMIT 20";
      $result=mysql_query($query);
      $num=mysql_numrows($result);
      $i=0;
      while ($i < $num) {
        $row = mysql_fetch_array($result);
        $pl_id = $row[0];
        $pl_dt = $row[1];
        $pl_img = $row[2];
        $pl_longitud = $row[3];
        $pl_latitud = $row[4];
        $pres = "Text is coming.";
    ?>
    {"latitude": "<?php echo $pl_latitud ?>", "longitude":"<?php echo $pl_longitud ?>", "icon":"<?php echo $pl_img ?>", "baloon_text":"<?php echo $pres ?>"},
    <?php
        $i++;
      }
    ?>
    ]};
    $("#map").mapmarker({ zoom        : 10,
                          center      : '<?php echo $pl_latitud; ?>, <?php echo $pl_longitud; ?>',
                          markers : myMarkers
                        });
  });
</script>

4

0 に答える 0