±¸±Û¸Ê API¸¦ ÀÌ¿ëÇÑ Map Service
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 ÃÖ±Ù º¯°æ ¼Ò½Ä
1.1 2009/3/30
1.2 2009/3/17
2 ±¸±ÛÀÇ °³¹ßÀÚ Æ÷¿ë Á¤Ã¥
3 ±¸±Û Map API
4 ±¸±Û MAP API ºÐ¼®
4.1 񃧯
4.2 Map¿¡¼­ÀÇ À̵¿
4.3 Control ¹öư Ãß°¡Çϱâ
4.4 Event Listener
4.5 Á¤º¸Ã¢ ¿­±â
4.6 ¸Ê¿¡ Ç¥½ÃÇϱâ
4.7 Ŭ¸¯ À̺¥Æ® Á¦¾î
4.8 ¸¶Ä¿¿¡ Á¤º¸ â Ãâ·ÂÇϱâ
4.9 ÅÇ »ç¿ëÇϱâ
4.10 »ç¿ëÀÚ Á¤ÀÇ ¾ÆÀÌÄÜ »ç¿ëÇϱâ
4.11 ¾ÆÀÌÄÜ Å¬·¡½º »ç¿ëÇϱâ
4.12 ¸¶Ä¿ µå·¡±×
4.13 SideBar¸¦ ÅëÇÑ ¸Ê ¸µÅ©
5 XML°ú ºñµ¿±â HTTP¸¦ ÀÌ¿ëÇÑ Áöµµ »ý¼º
6 Google °Ë»ö¿£Áø ¿¬µ¿
6.1 GoogleBar¸¦ ÀÌ¿ëÇÑ °Ë»ö¿£Áø Ȱ¿ë
7 °ü·Ã ¸µÅ©

ÅÂ±× :


1 ÃÖ±Ù º¯°æ ¼Ò½Ä

1.1 2009/3/30

  1. ±¸±Û ¸Ê°Ë»ö ¿¬µ¿ ¹æ¹ýÃß°¡.

1.2 2009/3/17

  1. Áöµµ ¼­ºñ½º°¡ µÈ´Ù. Áöµµ ¼­ºñ½º¸¦ ¹Þ±â À§Çؼ­´Â http://maps.google.com ´ë½Å http://maps.google.co.kr À» ÀÌ¿ëÇØ¾ß ÇÑ´Ù.
  2. Áöµµ ¼­ºñ½º°¡ µÇ¸é¼­, ±æÃ£±â ±â´Éµµ Ãß°¡µÇ¾ú´Ù. ¼öµµ±ÇÀ¸·Î¸¸ ÇÑÁ¤ÇÑ´Ù¸é, ¸Å¿ì Á¤È®ÇÑ Á¤º¸¸¦ º¸¿©ÁØ´Ù.
  3. Map api ¿¡¼­µµ maps.google.com ´ë½Å maps.google.co.kr ·Î API¸¦ ¿äÃ»ÇØ¾ß ÇÑ´Ù.
  4. ÀÌ ÆäÀÌÁöÀÇ ¸ðµç ¿¹Á¦µéÀÇ API ¿äûÁÖ¼Ò¸¦ maps.google.co.kr ·Î º¯°æÇß´Ù.

2 ±¸±ÛÀÇ °³¹ßÀÚ Æ÷¿ë Á¤Ã¥


±¸±ÛÀº ´Ù¾çÇÑ °³¹ßÀÚ¸¦ ÀÚ½ÅÀÇ ¿µ¿ªÀ¸·Î ²ø¾îµéÀ̱â À§ÇÑ °³¹æÁ¤Ã¥À» »ç¿ëÇÑ´Ù. ±×·¡¼­ ´ëºÎºÐÀÇ ¼­ºñ½ºµéÀÌ ¼­ºñ½º¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Â API¸¦ °ø°³ÀûÀ¸·Î Á¦°øÇϰí ÀÖ´Ù. °³¹ßÀÚ´Â ÀÌ API¸¦ ÀÌ¿ëÇØ¼­ ±¸±ÛÀÌ ¼±º¸ÀÎ ¼­ºñ½º¸¦ ´Ü¼øÈ÷ µÑ·¯º¸´Â Á¤µµ¿¡ ±×Ä¡Áö ¾Ê°í, ´Ù¾çÇÑ ÀÀ¿ëÀ» ½ÃµµÇغ¼ ¼ö ÀÖ´Ù. ±¸±Û MAP°°Àº °æ¿ì ±¸±Û¿¡¼­ ¼­ºñ½º¸¦ ¸¸µé¾î³»±âµµ Àü¿¡, ±¸±ÛÀÌ Á¦°øÇÑ API¸¦ ÀÌ¿ëÇØ¼­ Àڽŵ鸸ÀÇ µ¶Æ¯ÇÑ ¼­ºñ½º¸¦ ¸¸µé¾î³½ »ç¿ëÀÚµéÀÌ ÀÖ´Ù. http://HousingMaps.com ÀÇ °æ¿ì ¹Ì±¹ ÁÖ¿äµµ½ÃÀÇ Áý°ª Á¤º¸¸¦ º¸¿©ÁÖ¸ç, http://ChicagoCrime.org ´Â µµ½Ã³»ÀÇ ¹üÁË¿Í ¹üÇàÀ§Ä¡¸¦ °Ë»öÇÏ´Â ¼­ºñ½º¸¦ Á¦°øÇϰí ÀÖ´Ù.

ÀÚ½ÅÀÇ Á¦Ç°À» »ç¿ëÇϰųª Å×½ºÆ®ÇØÁÙ ¸¹Àº °³¹ßÀÚµéÀ» È®º¸ÇÏ´Â°Ç ¼ÒÇÁÆ®¿þ¾î ȸ»ç°¡ ¼ºÀåÇϱâ À§ÇÑ °¡Àå Áß¿äÇÑ µ¿·Â¿øÀÓÀº ¸»ÇÒÇʿ䵵 ¾øÀ» °ÍÀÌ´Ù. ±âÁ¸¿¡µµ °³¹ßÀÚ¸¦ ÀÚ½ÅÀÇ ¿µ¿ªÀ¸·Î ²ø¾îµéÀ̱â À§ÇÑ ³ë·ÂÀ» ÇØ¿Ô´ø°Ç »ç½ÇÀÌÁö¸¸, ¸¹Àº Á¦ÇÑÀ» µÐ Æó¼âÀûÀÎ ÇüÅ·ΠÀÌ·ç¾îÁ³¾ú´Ù. ±¸±ÛÀº Á¤º¸¸¦ ¿ÏÀüÈ÷ °ø°³Çϰí ÀÖÀ¸¸ç, ¸¹Àº ¿ìÈ£ÀûÀÎ °³¹ßÀÚ ¼¼·ÂÀ» ¸¸µé¾î³Â´Ù. ÀÌµé °³¹ßÀÚ´Â ±¸±Û¸Å´Ï¾Æ·Î ºÒ¸®¿ì´Â Áß¿ä °í°´À̱⵵ ÇÏ´Ù. ÃÖ±Ù¿¡´Â ±¹³» ´ëÇüÆ÷Å»µéµµ ÀÌ·¯ÇÑ °ø°³ °³¹ßÀÚ Æ÷¿ëÁ¤Ã¥À» Æì³ª°¡´Â Ãß¼¼´Ù.

3 ±¸±Û Map API

±¸±Û MapÀº Ajax±â¼úÀ» »ç¿ëÇÏ´Â ±¸±ÛÀÇ ´ëÇ¥ÀûÀÎ ¼­ºñ½ºµé Áß ÇϳªÀÌ´Ù. ±¸±ÛÀº ´Ü¼øÈ÷ ¼­ºñ½º¸¦ Á¦°øÇϴµ¥ ±×Ä¡Áö ¾Ê°í °³¹ßÀÚÀÇ Âü¿©¸¦ ²ø¾îµéÀ̱â À§ÇØ API¸¦ °ø°³Çϰí ÀÖ´Ù. ±¸±Û Map API¸¦ ÀÌ¿ëÇϸé ÀÚ½ÅÀÇ »çÀÌÆ®¿¡ ±¸±Û MapÀ» ºÙÀ̰í, Å×½ºÆ®Çϸ鼭 »õ·Î¿î ÀÀ¿ëÀ» ¸¸µé ¼ö ÀÖ´Ù. Map API¸¦ »ç¿ëÇϱâ À§Çؼ­´Â Map Key¸¦ ¹Þ¾Æ¾ß Çϴµ¥, http://www.google.com/apis/maps ¸¦ ¹æ¹®Çؼ­ MapÀ» »ç¿ëÇÒ URL¸¸ ¸í½ÃÇØÁÖ¸é ¹Ù·Î Key¸¦ ¹ÞÀ» ¼ö ÀÖ´Ù. ±×´ÙÀ½ »ý¼ºµÈ Äڵ带 °¡Á®´Ù ºÙÀ̱⸸ Çϸé ÀÚ½ÅÀÇ »çÀÌÆ®¿¡¼­ ¹Ù·Î ±¸±Û MapÀ» ºÙÀÏ ¼ö ÀÖ´Ù.

gmap.png

Map Key´Â ±¸±Û maps ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ºÒ·¯¿Ã¶§ key¿¡ ¸í½ÃÇÏ¸é µÈ´Ù.
<script src="http://maps.google.co.kr/maps?file=api&v=2&key=abcdefg" type="text/javascript"></script> 
 

4 ±¸±Û MAP API ºÐ¼®

±¸±Û MAP API´Â JavaScript·Î Á¦¾îµÈ´Ù. ¿©±â¿¡¼­´Â ¿ÏÀüÇÑ ÇüÅÂÀÇ HTML ÆÄÀÏÀ» º¸¿©ÁÖÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ¿ÏÀüÇÑ HTML ÆäÀÌÁö¸¦ ¸¸µå´Â°Ç Map Key¸¦ »ý¼ºÇÒ ¶§ ¸¸µé¾îÁö´Â HTML Äڵ带 ÀÌÇØÇÏ´Â °Í¸¸À¸·Î ÃæºÐÇÒ °ÍÀÌ´Ù.

4.1 񃧯

±¸±Û MapÀ» ºÒ·¯¿À±â À§ÇÑ °¡Àå ±âº»ÀÌ µÇ´ÂÄÚµå´Ù. ¼­¿ïÁÖº¯À» º¸¿©ÁØ´Ù.
var map = new GMap2(document.getElementById("map")); 
map.setCenter(new GLatLng(36.615527631349245, 127.353515625), 4); 
 
setCenterÀ» ÀÌ¿ëÇØ¼­ º¸¿©ÁÙ À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù. ù¹øÂ° ÀÎÀÚ´Â ÁÂÇ¥¸¦ ÁöÁ¤Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù. µÎ¹øÂ° ÀÎÀÚ´Â ÁöµµÀÇ ÇØ»óµµ¸¦ °áÁ¤Çϱâ À§Çؼ­ »ç¿ëÇÑ´Ù. ¼ýÀÚ°¡ Ŭ ¼ö·Ï ´õ ÀÚ¼¼ÇÑ °á°ú¸¦ º¸¿©ÁØ´Ù.
[http]simple.html ¿¹Á¦

±¸±Û ¸ÊÀº ¸Ê, À§¼º, ÇÕ¼ºÀÇ 3°¡Áö ¸ðµå¸¦ Á¦°øµÈ´Ù. setMapType¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¸é ¸ðµå¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù. µû·Î ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì ¸Ê¸ðµå·Î ½ÇÇàµÈ´Ù.

4.2 Map¿¡¼­ÀÇ À̵¿

´ÙÀ½Àº ¸Ê¿¡¼­ Áß½ÉÀ» À̵¿ÇÏ´Â ¿¹Á¦´Ù. panTo ¸Þ¼­µå¸¦ ÀÌ¿ëÇϸé ÇØ´ç Áß½ÉÀ¸·Î Áöµµ¸¦ ºÎµå·´°Ô À̵¿½ÃŲ´Ù. ±æÃ£±âµîÀÇ ±â´É±¸Çö¿¡ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖÀ» °Å °°´Ù.
var map = new GMap2(document.getElementById("map")); 
map.setCenter(new GLatLng(36.615527631349245, 127.353515625), 4); 
window.setTimeout(function() { 
    map.panTo(new GLatLng(42.615527631349245, 128.353515625)); 
}, 2000); 
 
[http]animate.html ¿¹Á¦

4.3 Control ¹öư Ãß°¡Çϱâ

¸ÊÀ» È®´ë±â½ÃÄ¿³ª ¸ðµå¸¦ ¹Ù²Ù°Å³ª ÇϴµîÀÇ Á¦¾î¸¦ À§ÇÑ ÄÁÆ®·Ñ ¹öưÀ» Ãß°¡ÇÑ´Ù.
var map = new GMap2(document.getElementById("map")); 
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
map.setCenter(new GLatLng(36.615527631349245, 127.353515625), 4); 
 
[http]control.html ¿¹Á¦


4.4 Event Listener

event listener´Â GEvent.addListener¸¦ È£ÃâÇØ¼­ »ý¼ºÇÑ´Ù. À̰ÍÀº ¸Ê¿¡¼­ ¹ß»ýÇÏ´Â À̺¥Æ®¸¦ ¾Ë·ÁÁØ´Ù. ¾Æ·¡ÀÇ ¿¹Á¦¿¡¼­ ¸ÊÀ» ¿òÁ÷ÀÏ °æ¿ì º¯°æµÈ ÁÂÇ¥°¡ Ãâ·ÂµÇ´Â°É È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
var map = new GMap2(document.getElementById("map")); 
GEvent.addListener(map, "moveend", function() { 
  var center = map.getCenter(); 
  document.getElementById("message").innerHTML = center.toString(); 
}); 
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
map.setCenter(new GLatLng(36.615527631349245, 127.353515625), 4); 
 
[http]event.html ¿¹Á¦

4.5 Á¤º¸Ã¢ ¿­±â

openInfoWindow¸¦ ÀÌ¿ëÇÏ¸é ¿øÇÏ´Â Áö¿ª¿¡ DOMÁ¤º¸¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº ¸ÊÁß¾Ó¿¡ Àú´Â ¿©±â¿¡ »ì¾Æ¿ä¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ´Â ÄÚµå´Ù.
map.setCenter(new GLatLng(36.615527631349245, 127.353515625), 4); 
map.openInfoWindow(map.getCenter(), 
                   document.createTextNode("Àú´Â ¿©±â¿¡ »ì¾Æ¿ä")); 
 
[http]infowindow.html ¿¹Á¦

4.6 ¸Ê¿¡ Ç¥½ÃÇϱâ

À̹ø ¿¹Á¦´Â overlay±â´ÉÀ» ÀÌ¿ëÇØ¼­ Áöµµ¿¡ ·£´ýÇÏ°Ô 10°³ÀÇ ¸¶Å©¸¦ Ç¥½ÃÇÑ´Ù. ¸¶Å©¿¡ »ç¿ëµÇ´Â À̹ÌÁö´Â ±âº» À̹ÌÁöÀ̸ç, »ç¿ëÀÚ Á¤ÀÇ ¾ÆÀÌÄÜÀ» ¸¸µé ¼öµµ ÀÖ´Ù. ¼­¿ï½Ã¸¦ ±âÁØÀ¸·Î ÀÛ¼ºÇß´Ù.
map.setCenter(new GLatLng(35.76873101871279, 139.5413875579834), 12); 
 
var bounds = map.getBounds(); 
var southWest = bounds.getSouthWest(); 
var northEast = bounds.getNorthEast(); 
var lngSpan = northEast.lng() - southWest.lng(); 
var latSpan = northEast.lat() - southWest.lat(); 
 
// ·£´ý Æ÷ÀÎÆ®¸¦ ¸¸µé°í °¢°¢ÀÇ Æ÷ÀÎÆ®¿¡ ¸¶Å·À» ÇÑ´Ù. 
for (var i = 0; i < 10; i++) { 
  var point = new GLatLng(southWest.lat() + latSpan * Math.random(), 
                          southWest.lng() + lngSpan * Math.random()); 
  map.addOverlay(new GMarker(point)); 
} 
// ·£´ý Æ÷ÀÎÆ®¸¦ ¸¸µé°í À̰ÍÀ» ¿¬°áÇÑ´Ù.  
var points = []; 
for (var i = 0; i < 5; i++) { 
  points.push(new GLatLng(southWest.lat() + latSpan * Math.random(), 
                          southWest.lng() + lngSpan * Math.random())); 
} 
points.sort(function(p1, p2) { 
  return p1.lng() - p2.lng(); 
}); 
map.addOverlay(new GPolyline(points)); 
 
[http]overlay.html ¿¹Á¦

4.7 Ŭ¸¯ À̺¥Æ® Á¦¾î

¸Ê¿¡ Ŭ¸¯À» ÇÒ°æ¿ì À̺¥Æ®¸¦ ¹Þ¾Æ¼­ ¸¶Å·À» ÇÏ´Â ¿¹Á¦´Ù. ¾Õ¼­ ¹è¿ü´ø addListenr¸Þ¼­µå¸¦ ÀÌ¿ëÇØ¼­ click À̺¥Æ®¸¦ ±â´Ù¸®°í, Ŭ¸¯ÀÌ ¹ß»ýÇϸé addOverlay¸Þ¼­µå¸¦ ÀÌ¿ëÇØ¼­ ¸¶Å·À» ÇÑ´Ù.
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
map.setCenter(new GLatLng(35.76873101871279, 139.5413875579834), 12); 
GEvent.addListener(map, "click", function(marker, point)  
{ 
  if (marker)  
  { 
    map.removeOverlay(marker); 
  } else { 
    map.addOverlay(new GMarker(point)); 
  } 
}); 
 
[http]click.html ¿¹Á¦

4.8 ¸¶Ä¿¿¡ Á¤º¸ â Ãâ·ÂÇϱâ

10°³ÀÇ ¸¶Ä¿¸¦ ·£´ýÇÏ°Ô Ç¥½ÃÇϰí, ¸¶Ä¿¸¦ Ŭ¸¯Çϸé Ŭ¸¯À̺¥Æ®¿¡ ´ëÇÑ Listener°¡ ÀÛµ¿Çϵµ·Ï ÇØº¸ÀÚ. Listener ÇÔ¼ö´Â openInfoWindowHtml¸Þ¼­µå¸¦ ÀÌ¿ëÇØ¼­ Á¤º¸Ã¢À» Ãâ·ÂÇÑ´Ù.
var map = new GMap2(document.getElementById("map")); 
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
map.setCenter(new GLatLng(35.76873101871279, 139.5413875579834), 12); 
function createMarker(point, number)  
{ 
  var marker = new GMarker(point); 
  GEvent.addListener(marker, "click", function()  
  { 
    marker.openInfoWindowHtml("Marker #<b>" + number + "</b>"); 
  }); 
  return marker; 
} 
 
var bounds = map.getBounds(); 
var southWest = bounds.getSouthWest(); 
var northEast = bounds.getNorthEast(); 
var lngSpan = northEast.lng() - southWest.lng(); 
var latSpan = northEast.lat() - southWest.lat(); 
for (var i = 0; i < 10; i++)  
{ 
  var point = new GLatLng(southWest.lat() + latSpan * Math.random(), 
                        southWest.lng() + lngSpan * Math.random()); 
  map.addOverlay(createMarker(point, i + 1)); 
} 
 
[http]markerinfo.html ¿¹Á¦

4.9 ÅÇ »ç¿ëÇϱâ

openInfoWindowsTabs¸Þ¼­µå ¿Í GInfoWindowTab Ŭ·¡½º¸¦ ÀÌ¿ëÇϸé, ÅÇÀ» Á¦¾îÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¸¶Ä¿¸¦ Ŭ¸¯Çϸé 2°³ÀÇ tabÀ» °¡Áø Info Windows¸¦ ¶ç¿î´Ù.
var map = new GMap2(document.getElementById("map")); 
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
map.setCenter(new GLatLng(35.76873101871279, 139.5413875579834), 12); 
 
var infoTabs = [ 
    new GInfoWindowTab("ÅÇ1", "¾È³çÇϼ¼¿ä.<br><img src=http://www.joinc.co.kr/images/joinc.png border=0>"), 
    new GInfoWindowTab("ÅÇ2", "¹Ý°©½À´Ï´Ù."), 
]; 
 
var marker = new GMarker(map.getCenter()); 
GEvent.addListener(marker, "click", function() { 
    marker.openInfoWindowTabsHtml(infoTabs); 
}); 
map.addOverlay(marker); 
marker.openInfoWindowTabsHtml(infoTabs); 
 
[http]tab.html ¿¹Á¦

4.10 »ç¿ëÀÚ Á¤ÀÇ ¾ÆÀÌÄÜ »ç¿ëÇϱâ

»ç¿ëÀÚ Á¤ÀÇ ¾ÆÀÌÄÜÀ» »ç¿ëÇÏ´Â ¿¹Á¦´Ù. ¾ÆÀÌÄÜÀº ±¸±Û¿¡¼­ Á¦°øÇÏ´Â mini markerÀ̹ÌÁöµéÀ» »ç¿ëÇϱâ·Î Çß´Ù. ¿ÏÀüÇÑ »ç¿ëÀÚ Á¤ÀÇ ¾ÆÀÌÄÜÀ» ¸¸µé±â À§Çؼ­´Â ¿øº»À̹ÌÁö¿Í ÇÔ²² ±×¸²ÀÚ À̹ÌÁö°¡ ½ÖÀ¸·Î ÁغñµÇ¾î¾ß ÇÑ´Ù.
var map = new GMap2(document.getElementById("map")); 
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
map.setCenter(new GLatLng(35.76873101871279, 139.5413875579834), 12); 
 
var icon = new GIcon(); 
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png"; 
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png"; 
icon.iconSize = new GSize(12, 20); 
icon.shadowSize = new GSize(22, 20); 
icon.iconAnchor = new GPoint(6, 20); 
icon.infoWindowAnchor = new GPoint(5, 1); 
 
// 10°³ÀÇ ·£´ýÀ§Ä¡¸¦ ã¾Æ¼­ markingÇÑ´Ù. 
var bounds = map.getBounds(); 
var southWest = bounds.getSouthWest(); 
var northEast = bounds.getNorthEast(); 
var lngSpan = northEast.lng() - southWest.lng(); 
var latSpan = northEast.lat() - southWest.lat(); 
for (var i = 0; i < 10; i++) { 
    var point = new GLatLng(southWest.lat() + latSpan * Math.random(), 
                      southWest.lng() + lngSpan * Math.random()); 
map.addOverlay(new GMarker(point, icon)); 
} 
 
[http]icon.html ¿¹Á¦

4.11 ¾ÆÀÌÄÜ Å¬·¡½º »ç¿ëÇϱâ

Áöµµ¼­ºñ½º¸¦ ÇÏ°Ô µÈ´Ù¸é, ¿©·¯°³ÀÇ ¾ÆÀÌÄܵéÀÌ »ç¿ëµÉ °ÍÀÌ´Ù. GIconŬ·¡½º¸¦ ÀÌ¿ëÇÏ¸é ¾ÆÀÌÄÜÀ» ½±°Ô °ü¸®ÇÒ ¼ö ÀÖ´Ù.
var map = new GMap2(document.getElementById("map")); 
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
map.setCenter(new GLatLng(37.4419, -122.1419), 13); 
 
// ¾ÆÀÌÄÜ¿¡¼­ »ç¿ëÇÒ À̹ÌÁö/±×¸²ÀÚ À̹ÌÁö, Info Windowsµî °´Ã¼ÀÇ  
// ¼Ó¼ºÀ» °áÁ¤ÇÑ´Ù. 
var baseIcon = new GIcon(); 
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png"; 
baseIcon.iconSize = new GSize(20, 34); 
baseIcon.shadowSize = new GSize(37, 34); 
baseIcon.iconAnchor = new GPoint(9, 34); 
baseIcon.infoWindowAnchor = new GPoint(9, 2); 
baseIcon.infoShadowAnchor = new GPoint(18, 25); 
 
function createMarker(point, index) { 
  // Create a lettered icon for this point using our icon class 
  var letter = String.fromCharCode("A".charCodeAt(0) + index); 
  var icon = new GIcon(baseIcon); 
  icon.image = "http://www.google.com/mapfiles/marker" + letter + ".png"; 
  var marker = new GMarker(point, icon); 
 
  GEvent.addListener(marker, "click", function() { 
    marker.openInfoWindowHtml("Áö¿ª <b>" + letter + "</b>"); 
  }); 
  return marker; 
} 
 
var bounds = map.getBounds(); 
var southWest = bounds.getSouthWest(); 
var northEast = bounds.getNorthEast(); 
var lngSpan = northEast.lng() - southWest.lng(); 
var latSpan = northEast.lat() - southWest.lat(); 
for (var i = 0; i < 10; i++) { 
  var point = new GLatLng(southWest.lat() + latSpan * Math.random(), 
                          southWest.lng() + lngSpan * Math.random()); 
  map.addOverlay(createMarker(point, i)); 
} 
 
[http]iconclass.html ¿¹Á¦

4.12 ¸¶Ä¿ µå·¡±×

¸¶Ä¿´Â Ŭ¸¯, ´Ù¸¥Àå¼Ò·ÎÀÇ µå·¡±× µîÀÌ °¡´ÉÇÑ »óÈ£ÀÛ¿ëÇÏ´Â °´Ã¼´Ù. ÀÌ ¿¹Á¦´Â ¸Ê¿¡¼­ ¸¶Ä¿¸¦ Ŭ¸¯ÇÏ°í µå·¡±×ÇÏ´Â À̺¥Æ®¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù. µå·¡±×´Â click, dragstart, drag, dragendÀÇ 4°¡Áö ŸÀÔÀÇ À̺¥Æ®¸¦ ¹ß»ýÇÑ´Ù.
    var map = new GMap2(document.getElementById("map")); 
    var center = new GLatLng(37.51025350131836, 127.06023216247559); 
    map.setCenter(center, 16); 
    map.setMapType(G_SATELLITE_MAP); 
 
    var marker = new GMarker(center, {draggable: true}); 
 
    GEvent.addListener(marker, "dragstart", function() { 
        map.closeInfoWindow(); 
    }); 
 
    GEvent.addListener(marker, "dragend", function() { 
        map.openInfoWindowHtml("¿©±â¸¦ ¾à¼ÓÀå¼Ò·Î...");  
    }); 
 
    map.addOverlay(marker); 
} 
 
[http]drag.html ¿¹Á¦

4.13 SideBar¸¦ ÅëÇÑ ¸Ê ¸µÅ©

[http]google map¿¡¼­ °Ë»öÀ» ÇØº¸¸é Áöµµ ¿·¿¡ SideBar¸¦ ÅëÇØ¼­ ¸ÊÀ» Á¦¾îÇÏ´Â °É º¼¼ö ÀÖ´Ù. ¿©±â¿¡¼­´Â SideBar¸¦ ÀÌ¿ëÇØ¼­ mapÀ» Á¦¾îÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸°Ú´Ù.

¿ì¼± ¼ÀÇÃÀ» Å×½ºÆ®Çغ¸µµ·Ï ÇÑ´Ù.
[http]sidebar.html ¿¹Á¦

<script language="JavaScript" type="text/javascript"> 
    // ÀÌ º¯¼ö¿¡ side bar¿¡ À̺¥Æ®°¡ ¹ß»ýÇßÀ» ¶§ Ãâ·ÂÇÒ HTMLÄڵ尡 ÀúÀåµÈ´Ù. 
    var side_bar_html = ""; 
 
    // side bar¿¡´Â ¿©·¯°³ÀÇ ¸¶Ä¿¿¡ ´ëÇÑ HTML¿ä¼Ò°¡ »ç¿ëµÇ¹Ç·Î 
    // ¹è¿­·Î Á¤ÀÇ ÇÑ´Ù.  
    var gmarkers = []; 
    var htmls = []; 
    var i = 0; 
 
    // markerÀ» ¸¸µç´Ù.  
    // ù¹øÂ° ÀÎÀÚ´Â À§Ä¡, µÎ¹øÂ° ÀÎÀÚ´Â À̸§, ¼¼¹øÂ° ÀÎÀÚ´Â ¼³¸íÀÌ´Ù. 
    function createMarker(point, name, html) 
    { 
        var marker = new GMarker(point); 
        // click À̺¥Æ®¿¡ ´ëÇÑ listener ÇÔ¼ö Á¤ÀÇ 
        GEvent.addListener(marker, "click", function()  
        { 
            marker.openInfoWindowHtml(html); 
        }); 
        gmarkers[i] = marker; 
        htmls[i] = html; 
        side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>'; 
        i++; 
        return marker; 
    } 
 
    function myclick(i) 
    { 
        gmarkers[i].openInfoWindowHtml(htmls[i]); 
    } 
    var map = new GMap2(document.getElementById("map")); 
    // GSmallMapControl´ë½Å¿¡ GLargeMapControlÀ» »ç¿ëÇß´Ù. 
    map.addControl(new GLargeMapControl()); 
    map.addControl(new GMapTypeControl()); 
    map.setCenter(new GLatLng(37.51030456483467, 127.05190658569336),14); 
    map.setMapType(G_SATELLITE_MAP); 
 
    // Å×½ºÆ®¿¡ »ç¿ëÇÒ marker¸¦ ¸¸µç´Ù.  
    var point = new GLatLng(37.508500299402435, 127.06263542175293); 
    var marker = createMarker(point, "¹Ýµð¿£ ·çÀνº", "Á¦°¡ ¾Ö¿ëÇÏ´Â ¼­Á¡ ÀÔ´Ï´Ù"); 
    map.addOverlay(marker); 
 
    var point = new GLatLng(37.50209991181568, 127.03652143478394); 
    var marker = createMarker(point, "½ÃƼ¹®°í", "°¡²û °­³²¿¡ °¥ÀÏÀÌ ÀÖÀ¸¸é ½Ã°£À» ¶§¿ì´Â Àå¼Ò·Î.."); 
    map.addOverlay(marker); 
 
    var point = new GLatLng(37.517802011991854, 127.0405125617981); 
    var marker = createMarker(point, "·ÎÅ͸® ¿À¶ô½Ç", "µå·³¸Þ´Ï¾Æ V2¶§¹®¿¡ °©´Ï´Ù"); 
    map.addOverlay(marker); 
 
    var point = new GLatLng(37.5056235973398, 127.0512306690216); 
    var marker = createMarker(point, "onnet", "Á¦°¡ ´Ù´Ï´Â ȸ»çÁö¿ä"); 
    map.addOverlay(marker); 
 
    // <div> side_bar¿¡ side_bar_html ¹®¼­¸¦ ¹èÄ¡ÇÑ´Ù. 
    document.getElementById("side_bar").innerHTML = side_bar_html; 
</script> 
 

5 XML°ú ºñµ¿±â HTTP¸¦ ÀÌ¿ëÇÑ Áöµµ »ý¼º

À̹ø ¿¹Á¦´Â °æµµ/À§µµ¿Í Áö¿ªÁ¤º¸¸¦ Æ÷ÇÔÇÑ data.xmlÀ» ´Ù¿î·Îµå ¹Þ¾Æ¼­, Áöµµ¿¡ ¸¶Ä¿¸¦ Ç¥½ÃÇÑ´Ù. GDownloadUrl¸Þ¼­µå¸¦ ÀÌ¿ëÇØ¼­ ÆÄÀÏÀ» ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù. ´Ù¿î·Îµå ¹ÞÀº XMLÆÄÀÏÀº GXml¸Þ¼­µå¸¦ ÀÌ¿ëÇØ¼­ ó¸®ÇÑ´Ù. ¸¶Ä¿¸¦ Ŭ¸¯Çϸé Áö¿ªÁ¤º¸°¡ Ç¥½ÃµÈ´Ù.
<script language="JavaScript" type="text/javascript"> 
var side_bar_html = ""; 
var gmarkers = []; 
var htmls = []; 
var i = 0; 
 
function myclick(i) 
{ 
    gmarkers[i].openInfoWindowHtml(htmls[i]); 
} 
function load() 
{ 
  var map = new GMap2(document.getElementById("map")); 
  var center = new GLatLng(37.51030456483467, 127.05190658569336); 
 
  map.addControl(new GSmallMapControl()); 
  map.addControl(new GMapTypeControl()); 
  map.setCenter(center, 14); 
 
  function createMarker(point, name, html) 
  { 
    var marker = new GMarker(point); 
    GEvent.addListener(marker, "click", function() 
    { 
      marker.openInfoWindowHtml("<b>" + name + "</b>"); 
    }); 
    gmarkers[i]=marker; 
    htmls[i]=html; 
    side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>'; 
    i++; 
    return marker; 
  } 
 
  GDownloadUrl("data.xml", function(data, responseCode) 
  { 
    var xml = GXml.parse(data); 
    var markers = xml.documentElement.getElementsByTagName("marker"); 
    for (var i = 0; i < markers.length; i++) 
    { 
      var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), 
                            parseFloat(markers[i].getAttribute("lng"))); 
      map.addOverlay(createMarker(point, markers[i].getAttribute("name"), markers[i].firstChild.nodeValue)); 
    } 
    document.getElementById("side_bar").innerHTML = side_bar_html; 
  }); 
 
} 
</script> 
  </head> 
  <body onunload="GUnload()"> 
    <div id="map" style="width: 600px; height: 340px"></div> 
    <div id="side_bar"></div> 
    <img src=../images/eyes.gif height=0 width=0 onload=javascript:load()> 
  </body> 
</html> 
 
´ÙÀ½Àº data.xmlÀÇ ³»¿ëÀÌ´Ù. È¿À²¼º°ú´Â °Å¸®°¡ ¸Ö°Ô ¸¸µé¾îÁ³´Ù.
<markers> 
  <marker lat="37.508500299402435" lng="127.06263542175293" name="¹Ýµð¾Ø ·çÀνº"><![CDATA[<a href=http://www.joinc.co.kr>www.joinc.co.kr</a>]]></marker> 
  <marker lat="37.50209991181568" lng="127.03652143478394" name="½ÃƼ¹®°í"><![CDATA[<a href=http://teamblog.co.kr>joinc teamblog</a>]]></marker> 
  <marker lat="37.50312128705489" lng="127.05825805664062" name="°³¹ÌÃ¥¹æ"><![CDATA[<a href=http://bbs.joinc.co.kr>joinc bbs</a>]]></marker> 
  <marker lat="37.517802011991854" lng="127.0405125617981" name="·ÎÅ͸®¿À¶ô½Ç"><![CDATA[<a href=http://bbs.joinc.co.kr>joinc bbs</a>]]></marker> 
  <marker lat="37.5056235973398" lng="127.0512306690216" name="¿ïȸ»ç"><![CDATA[<a href=http://bbs.joinc.co.kr>joinc bbs</a>]]></marker> 
</markers> 
 
[http]async.html ¿¹Á¦

6 Google °Ë»ö¿£Áø ¿¬µ¿

6.1 GoogleBar¸¦ ÀÌ¿ëÇÑ °Ë»ö¿£Áø Ȱ¿ë

GoogleBar¸¦ ÀÌ¿ëÇϸé, ±¸±Û¸Ê°Ë»ö°á°ú¿Í Áöµµ¸¦ ¿¬µ¿ÇÒ ¼ö ÀÖ´Ù. À̸¦ À§Çؼ­´Â GGoogleBarOptions °´Ã¼¸¦ ¼³Á¤Çϰí GMap2»ý¼ºÀÚÀÇ ¿É¼ÇÀ¸·Î ³Ñ°ÜÁÖ¸é µÈ´Ù. ÀÌÁ¦ GMap2.enableGoogleBar()¸¦ ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î GoogleBar¸¦ Ȱ¼ºÈ­ ÇÒ ¼ö ÀÖ´Ù. GoogleBarÀÇ È­¸éÀº google mapÀÇ ¸ÞÀÎÈ­¸é¿¡¼­¿Í ºñ½ÁÇÑ ¸ð½À°ú ´À³¦À» º¸¿©ÁØ´Ù.

´ÙÀ½°ú °°ÀÌ °£´ÜÇÏ°Ô google Áöµµ °Ë»ö°ú ¿¬µ¿ÇÒ ¼ö ÀÖ´Ù.
function initialize()  
{ 
    var map; 
    if (GBrowserIsCompatible())  
    { 
        var mapOptions = { 
            googleBarOptions : { 
            style : "new", 
            } 
        } 
        map = new GMap2(document.getElementById("map_canvas"), mapOptions); 
        map.setCenter(new GLatLng(37.51030456483467, 127.05190658569336), 13); 
        map.setUIToDefault(); 
        map.enableGoogleBar(); 
    } 
} 
 

[http]±¸±Û °Ë»ö¿£Áø ¿¬µ¿ ¿¹Á¦

7 °ü·Ã ¸µÅ©

¹®¼­°¡ µµ¿òÀÌ µÇ¾ú³ª¿ä?
¾ÆÁÖ ¸¹ÀÌ 51 (77.27 %)
¸¹ÀÌ 3 (4.55 %)
±×·°Àú·° 5 (7.58 %)
º°·Î 3 (4.55 %)
ÀüÇô 4 (6.06 %)
ÃÑ ÅõÇ¥66

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.