[Google API] 구글맵 v3 infoBox
구글맵 infoWindow 만으로는 html 사용에 제약이 많습니다.
디자인 소스 적용이 어렵기 때문입니다.
해결을 위해 플러그인이 제공되고 있습니다.
그 이름 " infoBox" !!
좀더 자유롭게 디자인 소스를 입힐 수 있는데요.
사용하기 위해서는 infobox.js 를 추가해야 합니다.
JS : 다운로드
샘플 코드 : http://www.uhoon.co.kr/test/6502.html
** 기본 infoWindow에서는 불가능 했던 각종 옵션들이 무궁무진합니다. **
API Reference :
http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/reference.html
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&sensor=false"></script> <script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/src/infobox.js"></script> <script type="text/javascript"> function initialize() { var secheltLoc = new google.maps.LatLng(49.47216, -123.76307); var myMapOptions = { zoom: 15 ,center: secheltLoc ,mapTypeId: google.maps.MapTypeId.ROADMAP }; var theMap = new google.maps.Map(document.getElementById("map_canvas"), myMapOptions); var marker = new google.maps.Marker({ map: theMap, draggable: true, position: new google.maps.LatLng(49.47216, -123.76307), visible: true }); var boxText = document.createElement("div"); boxText.style.cssText = "border: 1px solid black; margin-top: 8px; background: yellow; padding: 5px;"; boxText.innerHTML = "City Hall, Sechelt<br>British Columbia<br>Canada"; var myOptions = { content: boxText ,disableAutoPan: false ,maxWidth: 0 ,pixelOffset: new google.maps.Size(-140, 0) ,zIndex: null ,boxStyle: { background: "url('tipbox.gif') no-repeat" ,opacity: 0.75 ,width: "280px" } ,closeBoxMargin: "10px 2px 2px 2px" ,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif" ,infoBoxClearance: new google.maps.Size(1, 1) ,isHidden: false ,pane: "floatPane" ,enableEventPropagation: false }; google.maps.event.addListener(marker, "click", function (e) { ib.open(theMap, this); }); var ib = new InfoBox(myOptions); ib.open(theMap, marker); } </script> <title>Creating and Using an InfoBox</title> </head> <body onload="initialize()"> <div id="map_canvas" style="width: 100%; height: 400px"></div> <p> This example shows the "traditional" use of an InfoBox as a replacement for an InfoWindow. </body> </html>