有没有什么方法可以改变infowindow信息框因为我需要比基本信息更多的风格......
代码和演示:http://jsbin.com/EVEWOta/26
google.maps.event.addListener(marker,'click',function(){
service.getDetails(request, function(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var contentStr = '<h5>'+place.name+'</h5><p>'+place.formatted_address;
if (!!place.formatted_phone_number) contentStr += '<br>'+place.formatted_phone_number;
if (!!place.website) contentStr += '<br><a target="_blank" href="'+place.website+'">'+place.website+'</a>';
contentStr += '<br>'+place.types+'</p>';
if (!!place.photos) contentStr += '<img src=' + place.photos[0].getUrl({ 'maxWidth': 300, 'maxHeight': 300 }) + '></img>';
infowindow.setContent(contentStr);
infowindow.open(map,marker);
} else {
var contentStr = "<h5>No Result, status="+status+"</h5>";
infowindow.setContent(contentStr);
infowindow.open(map,marker);
}
});
});
gmarkers.push(marker);
InfoWindows不能按照我的要求设置样式,所以我需要用信息框更改它,但是如何???
答案 0 :(得分:1)
这是设计信息窗口的好工具:http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobubble/examples/example.html
此答案还有更多资源:Styling Google Maps InfoWindow
更新: 要在地图上放置信息块,您可以像这样实现它,无论您想要下面的任何选项。
infoBubble = new InfoBubble({
map: map,
content: '<br><a target="_blank" href="'+place.website+'">'+place.website+'</a>',
shadowStyle: 1,
padding: 8,
backgroundColor: 'rgb(57,57,57)',
borderRadius: 4,
borderWidth: 5,
borderColor: '#2c2c2c'
});
google.maps.event.addListener(marker, 'click', function() {
if (!infoBubble.isOpen()) {
infoBubble.open(map, marker);
}
});