0

ここに画像の説明を入力

Google マップの統合に関して 2 つの懸念事項があります

1. 情報コンテナはこのように表示されています 2 . 情報コンテナをクリックすると、同じ場所に表示されます。

これを解決するにはどうすればよいですか

これが私のコードです

for(var gMarker = 0; gMarker < userData.records.length ; gMarker++){
          var gMarkerThisImage = userData.records[gMarker].LatLng;
          var marker = new google.maps.Marker({
            position: new google.maps.LatLng(gMarkerThisImage[0], gMarkerThisImage[1]),
            map:      map,
            title:    'U.S.A center'
          });  
          (function(Marker) {
            console.log(gMarkerThisImage[0], gMarkerThisImage[1]);
            var contentString = '<div id="imageContent">'+
                              '<img src="'+userData.records[gMarker].imagePath+'" width = "100" height="100" alt = >'+
                              '</div>';
            var infowindow = new google.maps.InfoWindow({
                content: contentString , 
                position : new google.maps.LatLng(gMarkerThisImage[0], gMarkerThisImage[1])
            });
            google.maps.event.addListener(marker, 'click', function() {
                infowindow.open(map,marker);
            });
            /*google.maps.event.addListener(marker, 'mouseout', function() {
                infowindow.close(map,marker);
            });*/
          }(marker));
        }
4

1 に答える 1

1

私はあなたのコードを再編成しました、それを見てください-

var infowindow = new google.maps.InfoWindow(); //declare it globally if you want one infowindow at a time.

for(var gMarker = 0; gMarker < userData.records.length ; gMarker++){
          var gMarkerThisImage = userData.records[gMarker].LatLng;
          var marker = new google.maps.Marker({
            position: new google.maps.LatLng(gMarkerThisImage[0], gMarkerThisImage[1]),
            map:      map,
            title:    'U.S.A center'
          });  
          (function(Marker) {
            console.log(gMarkerThisImage[0], gMarkerThisImage[1]);
            var contentString = '<div id="imageContent">'+
                              '<img src="'+userData.records[gMarker].imagePath+'" width = "100" height="100" alt = >'+
                              '</div>';
            myWindow(marker,contentstring);
            });
          }(marker));
        }

function myWindow(mark, content)
{
      google.maps.event.addListener(mark, 'mouseover', function() {
      infowindow.open(map,mark);
      infowindow.setContent(content);
      });
}
于 2012-12-12T13:26:45.877 に答える