私はGoogleマップAPI v3で小さなゲームを取得するために取り組んでいます。これは、簡単な「ドラッグアンドドロップ」マーカー(無駄)で、適切なコンテナー(別のマーカー)に配置できます。
これが私が今までやったことですhttp://www.nadersafwan.site90.net/minijeu.html
ここに私の成果があります:すべてのマップパラメータを配置してポイントを作成し、8つの固定ポイントと1つのドラッグ可能ポイントを作成して、ドラッグ可能なマーカーのランダムな位置を設定し、タイムアウトとポイントを設定しました...
私が今欲しいのは、古いマーカー (定義されたプロパティを持つ) をクリアし、別のマーカー (彼自身の画像と名前を持つ) を表示する一種のループを作成することです: これは、これらの変数が両方で対応するたびに実行されます (モバイルと固定マーカー) と特定の距離で。
1 - 距離の XY px で、マーカーの種類が同じタイプである場合、古いマーカー属性をクリアして新しい属性を持つ新しいマーカーを与えるループを作成する関数
2 - ランダムなタイプの廃棄物を設計し、関連する属性 (画像と名前) をドラッグ可能なマーカーに与える関数
私が持っているもの: 1 - マーカー間の距離 (ユークリッド距離):
google.maps.event.addListener(marker, 'dragend', function() {
for (var i = 0; i < point_tab.length; i++) {
if (i in point_tab) {
var d = point_tab[i];
var dlat = d.coords.lat();
var dlng = d.coords.lng();
var dist = Math.sqrt( Math.pow(lat - dlat, 2) + Math.pow(lng - dlng, 2) );
console.log(dist);
for (i in types_dechets) {marker.setIcon(point_tab[i].image)}
if (dist < 0.01) {
alert("youpie");
clearOverlays();
marker.setMap(map);
}
}
}
if (dechetterie_trouvee == false) {
alert("pollueur");
}
}
ここで必要なのは、「point_tab」配列内で、「point_tab[n].nom」変数として既に定義されている dragableMarker と fixMarkers の値の間に変数の対立を追加することだけです。ここでは、「clearoverlays()」関数を使用してマーカーをクリアしますが、「marker.setMap(map)」は一度だけ別の画像を提供します。マーカーがクリアされるたびに変更したい
2 - ランダムな廃棄物タイプの選択のために、私はこれを試しました:
for (n in point_tab) {
var random_type_dechet = function() {
var randomIndex = Math.floor(Math.random() * point_tab[n].length);
return point_tab[randomIndex].image;
}
}
私はこれをあまり理解していませんが、「point_tab」配列の無駄のタイプをランダムに変更する可能性があります。おそらく、以前のスクリプトで実装して、常に異なるドラッグ可能マーカーを取得するためですか?