-1

有没有办法用信息框改变信息窗口,因为我需要比基本信息窗口更多的样式......

代码和演示: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 无法按照我的意愿设置样式,因此我需要使用信息框进行更改,但是如何?

4

1 回答 1

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);
  }
});
于 2013-08-29T22:58:16.313 回答