• [Google API] 구글맵 v3 infoBox

    2016. 12. 14.

    by. Yo.

    728x90



    구글맵 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>
    
    


    728x90

    댓글