2014-10-08 116 views
-1

当我点击标记时,它显示一个信息窗口,但不在正确的标记中。 它确实显示了正确的窗口,但显示了错误的标记。MarkerWithLabel仅在一个标记中显示信息窗口

我只在使用MarkerWithLabel时遇到此问题。一个正常的标记正常工作。

获取JSON

// Load markers 
function loadMarkers() { 
    $.ajax({ 
     url: '/Home/GetJsonMarkers' 
    }).done(function (data) { 
     $.each(data, function (index, value) { 
      handleMarkerAndWindow(value); 
     }); 
    }); 
} 

创建标记并添加监听器(包括标志和窗口全部功能)

function handleMarkerAndWindow(jsonMarker) { 

    // Create and get marker 
    var marker = createMarker(jsonMarker.Latitude, jsonMarker.Longitude, jsonMarker.Content); 

    // Add marker to map 
    marker.setMap(googleMap); 

    // Create info window 
    var infoMarkerWindow = createAndReturnMarkerWindow(jsonMarker.Content); 

    // Add to array 
    addMarkerAndWindow(marker, infoMarkerWindow); 

    // Add listener to show the info window on marker click 
    google.maps.event.addListener(marker, 'click', function() { 

     // Close all windows 
     closeAllMarkerWindows(); 

     // Open window 
     infoMarkerWindow.open(googleMap, marker); 
    }); 
} 

创建标记

// Creates a new marker 
function createMarker(latitude, longitude, title) { 
    return new MarkerWithLabel({ 
     position: createPosition(latitude, longitude), 
     title: title, 
     draggable: false, 
     raiseOnDrag: false, 
     labelContent: "$425K", 
     labelAnchor: new google.maps.Point(22, 0), 
     labelClass: "labels", // the CSS class for the label 
     labelStyle: { opacity: 0.75 }, 
     labelInBackground: false, 
     map : googleMap 
    }); 
} 

回答