Google 地图信息框在缩放时改变位置
Google maps InfoBox is changing position while zooming
这是人们普遍存在的问题吗?
这是该问题的屏幕截图,它位于右侧:http://s23.postimg.org/qqglxorkr/Screen_Shot_2016_04_06_at_16_11_31.png
此处已放大但信息框位置不正确。
http://s27.postimg.org/f1i9ouryr/Screen_Shot_2016_04_06_at_16_11_08.png
有人知道如何在房子上方划出这个信息框吗?
我在这里有一些共同点你可以看到这个问题:
下面的代码显示了它是如何设置的:
for (i = 0; i < locations.length; i++) {
var myLatLng = {lat: locations[i][0].lat, lng: locations[i][0].lng};
marker = new google.maps.Marker({
position: myLatLng,
icon: icon1,
map: map
});
setInfoWindow(marker);
setMarker(marker);
setMarkerSize(marker);
}
function setInfoWindow(marker) {
var infobox = new InfoBox({
content: contentString,
disableAutoPan: false,
maxWidth: 170,
pixelOffset: new google.maps.Size(-110, -50),
zIndex: null,
alignBottom: true,
boxStyle: {
background: "url('http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/examples/tipbox.gif') no-repeat",
opacity: 1,
width: "200px"
},
closeBoxMargin: "12px 4px 2px 2px",
closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif",
infoBoxClearance: new google.maps.Size(1, 1)
});
map.addListener('zoom_changed', function() {
if (map.getZoom() === 18) {
infobox.pixelOffset = new google.maps.Size(-110, -190);
console.log(infobox.pixelOffset)
}
});
}
它正在记录新值,但未更改其位置。
关于沮丧的时间,我们理解。我们都去过那里,它与草皮一起。
试试这个:
infobox.setOptions({pixelOffset: new google.maps.Size(-110, -190)});
Google 当您直接设置属性时,地图对象通常不会更新它们的外观。
这是人们普遍存在的问题吗? 这是该问题的屏幕截图,它位于右侧:http://s23.postimg.org/qqglxorkr/Screen_Shot_2016_04_06_at_16_11_31.png
此处已放大但信息框位置不正确。 http://s27.postimg.org/f1i9ouryr/Screen_Shot_2016_04_06_at_16_11_08.png
有人知道如何在房子上方划出这个信息框吗?
我在这里有一些共同点你可以看到这个问题:
下面的代码显示了它是如何设置的:
for (i = 0; i < locations.length; i++) {
var myLatLng = {lat: locations[i][0].lat, lng: locations[i][0].lng};
marker = new google.maps.Marker({
position: myLatLng,
icon: icon1,
map: map
});
setInfoWindow(marker);
setMarker(marker);
setMarkerSize(marker);
}
function setInfoWindow(marker) {
var infobox = new InfoBox({
content: contentString,
disableAutoPan: false,
maxWidth: 170,
pixelOffset: new google.maps.Size(-110, -50),
zIndex: null,
alignBottom: true,
boxStyle: {
background: "url('http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/examples/tipbox.gif') no-repeat",
opacity: 1,
width: "200px"
},
closeBoxMargin: "12px 4px 2px 2px",
closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif",
infoBoxClearance: new google.maps.Size(1, 1)
});
map.addListener('zoom_changed', function() {
if (map.getZoom() === 18) {
infobox.pixelOffset = new google.maps.Size(-110, -190);
console.log(infobox.pixelOffset)
}
});
}
它正在记录新值,但未更改其位置。
关于沮丧的时间,我们理解。我们都去过那里,它与草皮一起。
试试这个:
infobox.setOptions({pixelOffset: new google.maps.Size(-110, -190)});
Google 当您直接设置属性时,地图对象通常不会更新它们的外观。