1

こんにちは、Google マップを使用して検索場所を表示しています。マップの下に検索結果がリストされています。ユーザーが以下の結果をクリックすると、Google マップに情報ウィンドウが表示されます。

function setMarkers(map, locations) 
{
        var infoWindow = new google.maps.InfoWindow({});
        var markers = new Array(); 
        var image = new google.maps.MarkerImage('images/pin_red.png',
            new google.maps.Size(32,39),
            new google.maps.Point(0,0),
            new google.maps.Point(18, 30));

        var shape = {
            coord: [1, 1, 1, 20, 18, 20, 18 , 1],
            type: 'poly'
        };


        var alph    =   65;


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

          var beach = locations[i];
          var myLatLng = new google.maps.LatLng(beach[1], beach[2]);

          var title =   beach[0].split('~~');

         var marker = new google.maps.Marker({
              position: myLatLng,
              map: map,
              icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld='+String.fromCharCode(alph)+'|FF0000|000000',
              shape: shape,
              title: title[0]+'<br>'+title[1],
              zIndex: beach[3]
          });


           $('#mappoint-'+String.fromCharCode(alph)).bind('click', function() {
                    google.maps.event.trigger(marker, 'mouseover')
            });

            google.maps.event.addListener(marker, 'mouseover', function() {

               infoWindow.setContent(this.title);
               infoWindow.open(map, this);
          });


         alph   =   parseInt(alph)+1;

       }
}

これは私が使用している機能です。結果をクリックすると、最後に作成された情報ウィンドウが表示されます。

$('#mappoint-'+String.fromCharCode(alph)).bind('click', function() {
     google.maps.event.trigger(marker, 'mouseover')
});

このセクションには問題があり、これは最後に作成されたマーカーのみにバインドされます。

4

0 に答える 0