我有使用自定义Google街景全景图并创建一些自定义标记的代码。
function initialize() {
var panoOptions = {
pano: 'a9V_yZU01A7nTQW7S4Hxjw',
pov: {
heading: 0,
pitch:0
},
zoom: 0
};
var pano = new google.maps.StreetViewPanorama(document.getElementById('virtualTour'), panoOptions);
var infowindow = new google.maps.InfoWindow();
var marker, i;
var markers = [];
var locations = [
['<div style="width: 170px;">MARKERS 1</div>', 37.869197, -122.254583]
];
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: pano,
visible: false,
zIndex: 999
});
google.maps.event.addListener(marker, 'mouseover', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(pano, marker);
}
})(marker, i));
markers.push(marker); // save all markers
}
for (i = 0; i < locations.length; i++) {
markers[i].setVisible(true);
markers[i].setMap(pano);
}
pano.setVisible(true);
}
google.maps.event.addDomListener(window, 'load', initialize);
我的问题是:为什么只有在我通过地板上的Google街景箭头后才能显示标记?
我希望标记显示在初始化函数上。谁能帮我?我为我的项目创建了一个jsfiddle:
http://jsfiddle.net/7HpmE/
提前致谢!
最佳答案
迟到总比不到好。
添加标记后,只需重新加载Pano,就能解决您的问题。
我所做的就是替换以下行:
pano.setVisible(true);
(默认情况下,全景可见):
pano.setPano('a9V_yZU01A7nTQW7S4Hxjw');
这是您的jsfidle的更新版本:
http://jsfiddle.net/7mfswdbg/
关于google-maps-api-3 - 带有自定义全景图和标记的Google街景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23498921/