思想私は自分のコードを貼り付けたい:
function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(47.614495, -122.341861), 2); map.enableScrollWheelZoom();
GDownloadUrl("world_xml.php", function(data) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { var first_name = markers[i].getAttribute("first_name"); var last_name = markers[i].getAttribute("last_name"); var email = markers[i].getAttribute("email"); var affiliation = markers[i].getAttribute("affiliation"); var status = markers[i].getAttribute("status"); var service = markers[i].getAttribute("service"); var rank = markers[i].getAttribute("rank"); var specialty = markers[i].getAttribute("specialty"); var city = markers[i].getAttribute("city"); var state = markers[i].getAttribute("state"); var country = markers[i].getAttribute("country"); var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var marker = createMarker(point, rank, first_name, last_name, email, affiliation, status, service, specialty, city, state, country); map.addOverlay(marker); } });
} }
function createMarker(point、rank、first_name、last_name、電子メール、所属、ステータス、サービス、専門、市、州、国){ var marker = new GMarker(point); var html = "" + rank + "" + first_name + "" + last_name + "
" +サービス+ "、+ステータス+"
"+専門+"
"+所属+"
"+都市+ "、" +状態+ "" +国+ "
" +電子メール+ "
" + ""; GEvent.addListener(marker、 'click'、function(){ marker.openInfoWindowHtml(html); }); リターンマーカー。 }
ジョナサン:そのリンクを見ていました。それを送ってくれてありがとう。私はそれが私に必要なことをしているかどうかはわかりません。ほとんどのマーカーが異なるlat/lngセットから描画されているようです。一方、私の多くは同じだろう。提案? – jthespartan
そのライブラリは平方ベースのクラスタリングを行います。つまり、距離をピクセル単位で設定すると、ボックス内のすべてのものがクラスタリングされます。だから、あなたは小さな距離値を設定しようとすることができます。 それ以外の場合は、ロケーションコレクションを解析して、別のコレクションに追加し、それぞれのロケーションを新しいコレクションのものと照合する必要があります。 – Jonathan
私は、彼らの場所として「Vance AFB、OK、USA」と記載された多数の人々を持っています。これに対するlat/lngは、lat = "36.343071" lng = " - 97.907806"です。だから私はあなたのデータベースにその情報を入力するとき、私は最後の数字を毎回変換する必要があると言っている?小さな空間に複数のマーカーを置くことは涼しいかもしれません。次に、ユーザーは誰がそこにいるかを見るためにズームインする必要があります。このマップは、主に「効果」目的のためのものです。ソート可能なデータベースは、すべての実際の情報を提供します。 – jthespartan