我正在尝试将Google映射中的信息窗口更改为smartinfowindow,但是由于某些原因,信息窗口的位置错误。我从来没有在标准的信息窗口中遇到过这个问题,只有smartinfowindow。

我发现,如果我删除位置:使用Firefox检查器的相对位置,则地图将移至窗口的左上方,然后smartinfowindows处于正确的位置。

那有什么我想念的吗?

我使用以下内容创建标记:

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

    var dataPhoto = data.locations[i];
    var latLng = new google.maps.LatLng(dataPhoto.latitude,dataPhoto.longitude);

latlngbounds.extend( latLng );

var marker = new google.maps.Marker({
    position: latLng,
    icon: 'http://www.irishcottageholidays.com/images/cottage1.png'
});

listenMarker(map,marker,InfoWindow,dataPhoto.mID)

    markers.push(marker);
}


然后创建smartinfowindow:

function listenMarker (map,marker,InfoWindow,mID){
google.maps.event.addListener(marker, 'click', function() {
    load_content(map,this,InfoWindow,mID);
});

function load_content(map,marker,InfoWindow,mID){
    var $j = jQuery.noConflict();
    $j.ajax({
        type : 'GET',
        url : '/ajax/map_popup.asp',
        data: {
            mID : mID
        },
        success: function(result){
            new SmartInfoWindow({position: marker.getPosition(), map: map, content: result});
        }
    });
}


最初,我使用以下方法创建了信息窗口:

InfoWindow.setOptions({
    disableAutoPan: true,
    maxWidth: 280
});
InfoWindow.setContent(result);
InfoWindow.open(map, marker);


这项工作奏效了,但现在我已更改为smartinfowindow,它加载了信息窗口,但位置不正确。

预先感谢所有帮助。

----编辑----

我现在有一个问题,当打开另一个窗口时,smartinfowindow无法关闭,并且到目前为止无法实现。到目前为止,我发现的所有内容似乎都适用于标准信息窗口,并且在smartinfowindow上不起作用。

再次感谢您的所有帮助。

最佳答案

我相信您应该通过编辑smartinfowindow.js文件来更改smartinfowindow属性。

10-08 09:09