我正在尝试将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属性。