0

ポリゴンデータを含むkmlファイルがあります。これは、一度にすべてをロードできない数千のlatlng座標が含まれているため、1つのgooglemapにロードするには複雑すぎます。

私の質問は、マップマーカーがクリックされたときに1つのポリゴンだけをロードすることは可能ですか?各マーカーのlatlngsを保持するmysqlデータベーステーブルがあり、テーブルにはpolyCoordsの列もあります。すべてのマーカーを正しく表示するphpを使用してデータをループしています。次に、polyCoords列からデータをロードし、クリックしたマップマーカーのポリゴンを表示するリスナーをマーカーに追加できますか?

<script type="text/javascript">
function initialize()
{

    var centre = new google.maps.LatLng(34.233753,-83.828712);

    var myOptions =
    {
        zoom: 4,
        center: centre,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    <?php while ($row = @mysql_fetch_assoc($result)) 
{?>

    var myLatlng = new google.maps.LatLng(<?php echo $row['lat'] . ','  . $row['lng']?>);

    var marker = new google.maps.Marker
    (
        {
            position: myLatlng,
            map: map
        }
    );  

<?php }?>

}
</script>

ありがとう

4

1 に答える 1

1

はい。AJAXを調査します。

Googleドキュメントには、役立つ可能性のある記事がいくつかあります:https ://developers.google.com/maps/documentation/javascript/articles

GoogleマップでのPHP/MySQLの使用、およびPHPとMySQLでのストアロケーターの作成をご覧ください。後者は、データベースからデータを取得し、マップに表示されているものを更新することをカバーしています(これは、ポリゴン境界ではなくマーカーですが、手法は非常に似ています)。

特定のコーディングの問題が発生した場合は、それについて質問してください。

于 2012-06-19T18:17:30.023 に答える