0

これに関するGoogle Map Apiの質問からのすべての回答を検索してきましたが、解決策を見つけることができませんでした.

すべての緯度経度情報を含む、javascript 配列 "js_pickup_location_info" 17 個のオブジェクトがあります。Googleマップに17個のマーカーすべてを繰り返し表示しようとしています。ただし、17 個のマーカーのうち 8 個のみがマップに表示されます。以下はコードです。

助けてくれてありがとう。

function initialize() {
    var myLatlng = new google.maps.LatLng(myLat,myLong);
    var mapOptions = {
         zoom: 14,
         center: myLatlng,
         mapTypeId: google.maps.MapTypeId.ROADMAP
     }
    var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
    var c= js_pickup_location_info.length;
    console.log(c);
    for (var i=0; i<c; i++){

        pickup_id= js_pickup_location_info[i]['pickup_id'];
        pickup_latlng= new google.maps.LatLng(js_pickup_location_info[i]['latitude'],js_pickup_location_info[i]['longitude']);
        contentString= '<div id="content">'+
                '<div id="siteNotice">'+
                '</div>'+
                '<h2 id="firstHeading" class="firstHeading">'+js_pickup_location_info[i]['address']+'</h2>'+
                '<div id="bodyContent">'+
                '<p>'+js_pickup_location_info[i]['pickup_day']+'</p>'+
                '<p>HOLDER Insert Ajax Link</p>'+
                '</div>'+
                '</div>';

        var infowindow = new google.maps.InfoWindow({
                content: contentString
                // could add size: new google.maps.Size(50,50)
            });
        var marker = new google.maps.Marker({
                position: pickup_latlng,
                map: map,
                title: pickup_id
            });

        google.maps.event.addListener(marker, 'click', function() {
              infowindow.open(map,marker);
            });
            }
        }


function loadScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://maps.googleapis.com/maps/api/js?key=AIzaSyCH-RktY6ZGD8AlwxEzzF28nzCrRMjEfjE&sensor=false&callback=initialize";
  document.body.appendChild(script);
}

window.onload = loadScript;
4

1 に答える 1

0

変数のスコープの問題です。以下のように次の部分を変更すると、動作するはずです

google.maps.event.addListener(marker, 'click', function() {
    infowindow.setContent(this.html);
    infowindow.open(map, this);
});
于 2012-08-29T20:25:31.570 に答える