地図上に緯度経度をプロットするスクリプトがあります。地図が描画されると、新しいマーカーアイコンで地図を更新するために、ajaxリクエストを実行してアイコンを取得します。
これは私がこれまでに持っているものです:
for( i = 0; i < markers.length; i++ ) {
var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
bounds.extend(position);
$.ajax({
type: 'GET',
url: 'http://localhost/new/cqc/get_rating.php',
data: 'location_id=<?php echo $row['location_id']; ?>',
async: false,
success: function (response) {
icons=[response];
}
});
marker = new google.maps.Marker({
position: position,
scaledSize : new google.maps.Size(10,10),
map: map,
draggable: true,
title: markers[i][0],
icon: icons[i][0]
});
これは機能せず、アイコンは表示されません。
敬具
関連した質問
- Javascriptajax配列の値だけを表示する方法
- PHPの別のページとしてのナビゲーション
- phpajaxを使用してDatatableが明確ではない
- Goutte/Guzzleでユーザーエージェントヘッダーを設定しますか? (未定義のメソッドエラー)
- setimeout == 0のときにページを変更する
- AJAXMYSQLクエリがロードされない
- PHPのURLではなく履歴書にソーシャルアイコンを表示する方法は?
- カスタムフィールドが指定されていない場合、セクションの「softdown」を非表示にしたい
- FacebookピクセルのJavaScriptコードでWordpressカスタムプラグインオプションの値を使用する方法
- JavaScript:このAPIデータからリストを表示する方法
これは簡単です。あなたはただ修正する必要がありますポジショニング あなたのコードの。
これがどのように機能するかを示します。
まず、必要な変数がすべて宣言されていることを確認しました。
markers
の配列コンテンツを提供しました だから、map
をロードした後にそれを使うことができました 。次に、配列icons
を追加しました 後で使用するため、およびmap
マップクラスを処理する変数。次に、マップを開始しました:(この例はシカゴを中心に)
マップがページに表示されている必要があります。その後、
ajax
を実行しますicons
を作成するために作成した呼び出し アレイ。 (あなたのajax
かどうかは本当にわかりません 私はそれをテストする方法がないため、コードは動作します)。あなたの
ajax
からのリターン コードを機能させるには、コードは次のようになっている必要があります。icon
を取得した後 配列が読み込まれたら、ループを続行できます。ループ内では、icon
を含む変数でなければなりません マーカーを作成するための関数(このコードでは、マーカー関数を分離しています):上記のコードでは、
scaledSize
変数image
内にある あなたのicon
として機能します オブジェクト(marker
内にあるものと比較) 変数)。これは、scaledSize
アイコン自体のためであり、マーカーのためではありません。今、
function initMap
の外 、function create_marker
を追加します 。関数のパラメーターで渡される変数に注意してください。これはposition
です 、i
ループの数を取得する変数、およびimage
アイコンを追加するには:これで動作するはずです!このサンプルをチェックして、実際のコードを確認してください。 (コメントを読んで、私がしたことをよりよく理解することを忘れないでください!)