【发布时间】:2016-04-06 14:15:40
【问题描述】:
这是人们普遍存在的问题吗? 这里是这个问题的截图,它位于正确的位置: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
有人知道如何排列这个信息框,不管房子上面是什么吗?
我在这里有一些共同点,您可以看到问题: How do i access all my google maps markers
下面的代码显示了它是如何设置的:
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)
}
});
}
它正在记录新值,但它没有改变它的位置。
【问题讨论】:
-
请提供一个Minimal, Complete, Tested and Readable example 来证明您的问题。
-
@geocodezip 有什么问题?
-
很多东西:你没有说清楚问题出在哪里(信息框应该在哪里?在两个像素中对我来说看起来几乎相同的地方),你已经复制粘贴了来自另一个问题而不引用内容,因此它看起来像是您的问题的一部分,令人困惑,如果您的问题与其他问题相同,您需要非常清楚它如何不重复另一个:为什么那个答案对你不起作用?
-
最后但同样重要的是,在我看来,您的问题实际上与另一个问题无关:另一方面,问题是信息框仅适用于一个标记而不是许多标记,因为一个经典的闭环问题,你的问题 AFAIK 是关于微调信息框的位置(我真的不知道)
-
你似乎没有明白这一点。 WTF是邓肯?邓肯是回答您其他问题的人。在这个问题中引用他而没有提及这会让任何阅读此内容的人不知所措,除非他们阅读其他内容。他们为什么要这样做?它与这个没有任何关系(即使它是同一段代码)。您有两个单独的问题,引用另一个问题会混淆问题并且没有任何好处。在另一个问题中,您在向数组中的每个标记添加侦听器时遇到了麻烦,在这个问题中,您需要有关 如何 该侦听器的工作原理的帮助。
标签: javascript google-maps google-maps-api-3 infobox