0

配列からのマーカーが入力されたマップがあります。マーカーをクリックすると、配列からのアドレスデータを含むHTMLテキストボックスにデータが送信されます。

    document.getElementById("address_box").value = title;

    <input type = "text" id = "address_box" value = ""/>

これは、マーカーにデータを入力するために使用されるコードです

  for (var i = 0; i < arrMarkers.length; i++) {
        latlng = new google.maps.LatLng(arrMarkers[i].lat, arrMarkers[i].lng);
        marker = new google.maps.Marker({
            position: latlng, 
            map: map, 
            title: arrMarkers[i].title,
             icon: "http://maps.google.com/mapfiles/ms/micons/blue.png"
        });

別のforループを使用して、各マーカーの一致する配列インデックスを使用するボタンをページ上に動的に作成したいと思います。

私が理解しているように、データを配列から取得してテキストボックスに送信できるように、配列のインデックスとタイトルをボタンに送信する必要があります。

これが私が書いたいくつかの擬似コードです。私もそれを受け取るためにいくつかのhtmlが必要だと思います。

 for (var i = 0; i < arrMarkers.length; i++) {
        button = newButton(arrMarkers[i].title);
      });

JavaScriptの外部のページに外部のボタンを追加するためにどのコードを使用できますか?

4

1 に答える 1

1

振り返ってみると、そのためのフォームさえ必要ありません。この例では、IDが「addresses」の順序付けされていないリストの方が適切です。

for (var i = 0; i < arrMarkers.length; i++) {

    document.getElementById('addresses').innerHTML += '<li><a href="javascript:show(' + i + ');return false">' + arrMarkers[i].title + '</a></li>';

    latlng = new google.maps.LatLng(arrMarkers[i].lat, arrMarkers[i].lng);
    marker = new google.maps.Marker({
        position: latlng, 
        map: map, 
        title: arrMarkers[i].title,
         icon: "http://maps.google.com/mapfiles/ms/micons/blue.png"
    });

次に、必要に応じて、要求されたマーカーを表示する関数を作成する必要があります。

私はv2の古いコードを持っていましたが、それはここではかなり役に立たないでしょう。v3マーカーマネージャーには表示機能が必要です。

于 2013-03-12T10:48:15.550 に答える