Where 2.0 시대의강력한우군 야후! 지도 AJAX API 3.7 Yahoo! Korea Map Engineering Team
차례 Where 2.0 야후! 지도서비스 야후! 지도 AJAX API 준비사항및배경지식 AJAX API 사용방법 야후! 지도관련 XML API 지역명검색 XML API 좌표, 지명변환 XML API 좌표변환 XML API API 데모 Q&A
Where ee 2.0 사용자스스로위치에기반한정보를생산하고소비하며공유한다. Where 2.0 의시대
야후! 지도 서비스 URL: http://kr.gugi.yahoo.com/map
야후! 코리아글로벌지도서비스 한국및전세계를포함하는지도및위성사진데이터제공 한국, 북미, 인도, 유럽지역국가에대한상세지도데이터 한국은내년에상세위성사진제공예정 호주, 대만을시작으로단계별로상세데이터추가예정 전세계를단일국제표준좌표체계 (WGS84) 로일원화 전세계 240 여개국가의행정구역, 지역명, POI 에대한좌표검색정보제공 런던, 에펠탑등한국인에게익숙한지역에대한한국어지명검색 전세계 240 여개국가에대한위경도좌표로행정구역을검색 3 천 8 백만국내지번검색 브라우저호환성 Firefox 2, IE 6/7, Opera 8, Safari 3 이상
야후! 지도의지도학적특성 UTM 지도투영법 세계를하나의통일된좌표로표현 WGS84 좌표시스템 경도범위 : -180 ~ +180 위도범위 : -85 ~ +85 17 단계레벨의지도표현 각레벨당 4 (18-zoomlevel) 개의지도타일이미지 (256x256) 1 레벨 : 17,179,869,184 장의타일이미지로구성 ( 이론적수치 )
UTM (Universal Transverse se Mercator Grid) 지구전체를평면상에표현하는가장효과적인지도작성방법 N85 그린란드면적 216 만 6086 km2 +85 적도 0-8 85 S85 브리질면적 851만 4047km2-180 GMT 0 +180
지도좌표시스템 WGS84 (World Geodetic System 84) 지구의질량중심을원점으로한좌표체계 미군에서 GPS 시스템을이용하면서만들어진군사용좌표체계 야후! 지도, 구글지도에서사용중 TM128 ( 카텍좌표계 ) 카텍좌표계는국내에서 CNS(Car Navigation System) 용으로개발된직각좌표체계 네이버지도에서사용중 Congnamul TM (TM * 2.5) 콩나물지도, 다음지도에서사용중인좌표계 제주도 ( 마라도포함 ), 울릉도, 독도, 백령도의좌표를육지게가깝게옮겨놓음
야후! 지도 AJAX API
야후! 지도 AJAX API 의특징 100% JavaScript 로개발되어브라우저호환성이뛰어남 전세계단일 WGS84 좌표체계 원하는지역의좌표를찾기위한전세계지역명검색 (250만건 ) XML API 제공 좌표를지역으로변환하는 XML API 제공 좌표변환 XML API 제공 I18N(InternationalizatioN) 독일, 프랑스, 중국, 중동등의다국어지명을표현하기위하여 UTF-8 코드사용
일일허용사용량 일사용량제한 : 50,000 web request 사용자의 IP 주소및어플리케이션 ID 기반으로과도한요청을제한 24 시간단위로사용량점검 일사용량제한을초과하면다음날까지 API 를사용할수없다!! 일제한사용량을초과해서사용해야할필요가있거나상용서비스에사용할경우별도의논의필요
야후지도지도관련용어설명 PanControl Marker TypeControl DHTML 영역 ZoomControl Label SmartWindow
야후! 지도를사용하기위해준비해야할것들 개발에필요한기본지식 DHTML JavaScript AJAX XML Unicode(UTF-8) : 다국어지원 (ex. München) 어플리케이션 ID 발급 야후! 의모든오픈컨텐츠에접근하기위해서어플리케이션 ID 필요 http://kr.open.gugi.yahoo.com/regist/regist.php h /R i / i h 야후지도사용법 개발자 tutorial http://kr.open.gugi.yahoo.com/document/tutorials.php 개발자 reference http://kr.open.gugi.yahoo.com/document/reference.php
주요 classes Class YMap YMapTypeControl YEvent YPolyline YCustomOverlay YCoordPoint YGeoPoint Ymarker Yimage Description 지도영역을관리 지도상의지도유형콘트롤 ( 지도, 하이브리드, 위성 ) 을조정 지도와관련된이벤트를관리 지도상에선을그리는데필요한라이브러리 YGeoPoint 와 YCoordPoint 클래스를이용하여지도상이나지도영역에오브젝트를등록 지도영역의좌상단으로부터의픽셀좌표 WGS84 좌표계를따르는 GMT 와적도로부터시작하는좌표 지도상에지점을표시할때사용 사용자정의이미지를지도상에표시할때사용 YGeoRSS 좌표정보를가지고있는 RSS feed 를처리. ( 현재야후코리아에서는지원하지않음 ) YLog YUtility 디버깅을편리하게하기위하여사용 야후! 지도 API 를이용하여개발할때사용되는유틸리티함수
웹페이지에지도추가하기 1. JavaScript 헤더파일을 HTML 파일에포함시키기 <script type="text/javascript" src="http://kr.open.gugi.yahoo.com/ Client/AjaxMap.php?v=3.7&appid=YahooDemo"></script> 2. HTML 을이용한지도영역정의 <div id="map" style="width:400px;height:300px"></div> 3. 지도생성 var map = new YMap(document.getElementById("map")); 4. 지도유형선택 map.setmaptype(yahoo_map_reg); 5. 지도표시위치지정 var center_point = new YGeoPoint(37.511411132213,127.05925359288); map.drawzoomandcenter(center _p point,3);
지도추가예제
지도상에지점추가 위치표시기준 지역명검색 : 가장정확도가높은지역위치선택 YGeoPoint: GMT 와적도를기준으로한 WGS84 위경도좌표 지역명을이용한지점등록 map.addmarker(encodeuricomponent(" 코엑스 ")); YGeoPoint 를이용한지점등록 var center_point = new YGeoPoint(37.511411132213,127.05925359288); map.addmarker(center_point); t)
이벤트처리 주요이벤트 YMap 관련 endmapdraw, changezoom, startpan, onpan, endpan, endautopan, startautopan, MouseClick, MouseDown, MouseDoubleClick, MouseOut, MouseOver, MouseUp, KeyUp, KeyDown, onendgeocode, polylineadded, polylineremoved YMarket 관련 openexpanded, closeexpanded, opensmartwindow, closesmartwindow 이벤트연결방법 YEvent.Capture(map, EventsList.endMapDraw,event_endMapDraw); function event_endmapdraw() { alert("endmapdraw event triggered!!"); }
디버깅? 디버깅!! YLog 를이용한쉬운 JavaScript 디버깅 //call initpos to set the starting location YLog.initPos(mapCoordCenter); // Printing to the Logger YLog.print("You Made a MouseClick!"); YLog.print("Latitude:" + _c.lat); YLog.print("Longitude:" + _c.lon); 실행예
AJAX API 데모
야후! 지도 XML API
지역명검색 XML API 개요 POI (Point Of Interest) 를검색하고선택된지역의 WGS84 시스템상의경도와위도를돌려준다. 요청 URL 문서 http://kr.open.gugi.yahoo.com/service/poi.php http://kr.open.gugi.yahoo.com/document/poisearch.php 사용예 http://kr.open.gugi.yahoo.com/service/poi.php?appid=yahoodemo &q= 코엑스 &output=xml&results=50 결과형식 XML,,JSO JSON,,Serialized edphp String
지역명검색 XML API 실행예
좌표, 지명변환 XML API 개요 WGS84 위도, 경도좌표를지역명의계층구조로변환하는 XML API 요청 URL 문서 http://kr.open.gugi.yahoo.com/service/rgc.php http://kr.open.gugi.yahoo.com/document/geocooder.php 사용예 http://kr.open.gugi.yahoo.com/service/rgc.php?appid=yahoodemo &latitude=37.4997677193116&longitude=127.0294189453125&out put=xml 결과형식 XML,,JSO JSON,,Serialized edphp String
좌표, 지명변환 XML API 실행예
좌표변환 API 개요 서로다른좌표체계간의상호변환하는기능을제공 TM, UTM, KTM, WGS84, BESSEL 지원 요청 URL http://kr.open.gugi.yahoo.com/service/coordconverter.php 문서 http://kr.open.gugi.yahoo.com/document/coordtrans.php 사용예 http://kr.open.gugi.yahoo.com/service/coordconverter.php?appid=y ahoodemo&x=127.05590291409&y=37.507502379027&before=w GS&after=TM&output=xml 결과형식 XML,,JSO JSON,,Serialized edphp String
좌표변환 API 실행예
향후지원계획 컨텐츠지원 고해상도위성지도서비스준비중 한국지번검색 XML API ( 약 38,000,000 건 ) 제공예정 한국지역검색 XML API ( 약 12,000,000 건 ) 제공예정 야후! 내의다양한컨텐츠제공예정 개발지원 야후! 본사의 Global API 제공 YDN (http://developer.yahoo.com) h )API 및 contents t 제공 개발자지원 위치기반정보기술지원 Mash-up 프로모션지원예정
참고사이트 야후! 지도 API 한글도움말사이트 http://kr.open.gugi.yahoo.com 야후! 지도 API 영문도움말사이트 http://developer.yahoo.com/maps YUI (Yahoo! User Interface Library) 도움말사이트 http://developer.yahoo.com/yui
질문?