메일로 날라왔는데..

네이버 지도 API를 를 Enterprise API로 개편한다는데

쿼터는 그대로라지만 어떻게 바뀌는지 감이 안온다. -_ㅠ


당일 되어야 발급이 되는건가? 확인을 해야겠네...


지도 Open API를 NAVER MAPS Enterprise API로 개편합니다.
오는 11월 13일 층 더 새로워진 네이버 지도 API를 네이버 클라우드 플랫폼에서 만나보실 수 있습니다.  
개발사들이 다양한 애플리케이션을 개발할 수 있도록 기존에 Open API 형태로 지원해 오던 것을
상업적 용도로 사용하기에도 부족함이 없게 제공 API를 확대하고 편의성을 높였습니다. 
지도 이미지를 로딩하는 Web/Mobile Dynamic Maps 는 그대로 유지되며
신규로 Search Places, Directions를 추가하여 총 8종의 API를 지도 Enterprise API로 제공합니다.
다채로워진 지도 Enterprise API 사용을 위해 네이버 클라우드 플랫폼을 이용해주시기 바랍니다. 
그동안 네이버 개발자센터를 통해 지도 Open  API를 이용해주신 분들께 감사의 마음을 전하며
앞으로도 개발사 여러분의 의견을 적극 수렴하여 더 나은 품질의 API와 서비스를 지원할 수 있도록 노력하겠습니다. 
1. 지도 API 변경 내용 
플랫폼 : 개발자센터 -> 네이버 클라우드 플랫폼(https://www.ncloud.com/)에서 신규 계정을 발급받아 지도 Enterprise API 사용 가능

- 제공 APIs : Web/Mobile 2종 ->  Maps/Directions/Places 관련 API 8종

상품 설명 및 무료 쿼터
API 상품구분상품설명 월 무료 쿼터 
MapsWeb Dynamic Maps패닝, 줌인아웃 등 인터랙티브가 가능한
동적 지도를 보여줍니다.
 6,000,000
Mobile Dynamic Maps네이버 지도앱에서 사용하는 기능(백터지도)을
기본으로 제공합니다.
 무제한 
Static Maps웹페이지에 표시할 수 있는 이미지로
지도를 반환합니다.
 3,000,000
Tile Maps요청한 URL을 기반으로 다양한 이미지 지도
타일을 반환합니다.
 - 
DirectionsDirections사용자가 지정한 출발지/목적지 정보에 따라
경로를 제공합니다.
 60,000
PlacesSearch Places사용자가 입력한 질의어에 대해 장소, 업체명,
주소 등을 검색 결과로 제공합니다.
 750,000
Geocoding주소의 텍스트를 입력 받아 좌표를 포함한
상세정보들을 제공합니다.
 3,000,000
Reverse Geocoding좌표를 통해(법정동,행정동,지번주소,도로명주소 등)
주소 정보를 반환합니다.
 3,000,000

2. 주요 일정 
- 네이버클라우드플랫폼 > Enterprise API 출시일 : 2018년 11월 13일

- 네이버개발자센터 > 신규 계정 발급 중단일 : 2018년 11월 13일

- 네이버개발자센터 > 지도 Open API 지원 종료일 : 2019년 04월 15일

사용에 불편이 없으시도록 기존 개발자센터에서 사용 중인 지도 Open API 계정/키는 향후 6개월간 유지됩니다. 
기간 후 이용하시던 계정은 자동으로 사용 중지 될 예정이니, 시일 내에 네이버 클라우드 플랫폼으로 이관을 부탁 드립니다. 

참고로, 기간 내에 네이버클라우드플랫폼으로 이관하실 경우, 기존에 개발자센터에서 발급받은 계정은 사용이 제한됩니다. 
네이버클라우드플랫폼의 Enterprise API와 개발자센터에서 Open API는 동일 상품으로 간주, 양쪽에서 계정을 발급받아 사용하게 될 경우,
개정된 약관 에 의거 개발자센터의 계정 사용이 중지될 수 있음을 미리 안내 드립니다.

Q1) 11월 13일부터는 개발자센터를 통해 기존 사용하던 지도 API를 쓸 수 없게 되나요?
기존에 사용하시던 지도 API는 2019년 4월 14까지 약 6개월의 기간 동안 동일한 조건으로 사용하실 수 있도록 지원할 예정입니다. 
다만, 신규로 추가되는 API와 기능들은 네이버 클라우드 플랫폼을 통해서만 이용이 가능합니다.
Q2) 네이버 클라우드 플랫폼으로 계정 정보 자동 이관은 안되나요?
기존 개발자센터의 계정 정보 마이그레이션 서비스를 지원하고 있지 않습니다.
직접 네이버 클라우드 플랫폼에 회원 가입 후, 해당 서비스에 대한 이용 신청을 해주셔야 합니다.
이어 네이버 클라우드 플랫폼 콘솔에서 새로 Application 을 등록하고 발급받은 Client ID를 적용하시면 바로 Enterprise API를 이용하실 수 있습니다.
Q3) 기존과 같이 Web/Mobile 지도 API를 일 20만건까지는 무료로 사용할 수 있나요? 신규 API도 무료 이용량이 있나요?  
네이버 지도 Enterprise API는 기존 API의 사용성은 증대시키면서, 무료쿼터는 그대로 유지합니다.
Web Dynamic Maps(웹 지도로딩)는 월 600만의 무료 쿼터를 제공하고,
Mobile Dynamic Maps (모바일 지도로딩)는 개편과 함께 쿼터 제한 없이 무제한으로 제공할 예정입니다.
신규로 출시되는 API들 역시 기능을 확인하고 실제 서비스에 적용해볼 수 있도록 각 상품별로 일정 수준의 무료 쿼터가 제공됩니다. 
또한 기존에는 무료쿼터 이상 사용은 제한되었으나, 개편 후에는 개별 설정을 통해 기본 제공되는 쿼터 이상 사용이 가능해집니다. 

Q4) 기본 제공된 무료 이용량 초과시는 과금이 발생되나요?  
향후 기본 제공된 무료 쿼터를 초과해서 사용할 경우, 별도의 과금이 발생될 수 있습니다.

유료 과금 체계는 추후 네이버 클라우드 플랫폼 홈페이지에서 공개될 예정입니다. 


여기서 하는건가?

[링크 : https://www.ncloud.com/product/applicationService/maps]


따로 가입해야 하고 가입하니 크레딧 준다고(30만원)

[링크 : https://www.ncloud.com/main/creditEvent]

Posted by 구차니

별도로 만들어 준 marker 배열을 이용해서

setIcon()을 설정해주면 됨..


e로 넘어 오는 값으로는 무리인가..


[링크 : https://developers.naver.com/forum/posts/26398]

[링크 : https://navermaps.github.io/maps.js/docs/naver.maps.Marker.html]

'프로그램 사용 > 네이버 맵 API' 카테고리의 다른 글

네이버 지도 위도/경도 좌표  (0) 2018.10.29
네이버 API 공지  (2) 2018.10.13
네이버 지도 zIndex 와 title  (0) 2018.10.10
네이버 지도 idle 이벤트  (0) 2018.10.10
네이버 지도 API 애니메이션  (0) 2018.10.05
Posted by 구차니

핸들러에서는 marker object가 아니기 때문에

overlay의 title과 zIndex 정도가 클릭시 얻을수 있는 외부(?) 정보로 사용이 가능할 것으로 보인다.


var marker = new naver.maps.Marker(

            {

                position: new naver.maps.LatLng(data.lat, data.lng),

                title : data.name,

                zIndex : i,

                map: map

            }

        ); 


        naver.maps.Event.addListener(marker, "dblclick", function (e) {            

            // console.log(e);

            // console.log(e.overlay.zIndex);

            // console.log(e.overlay.title);

            console.log(e.overlay);

        }); 

[링크 : https://navermaps.github.io/maps.js/docs/naver.maps.Marker.html]

Posted by 구차니

공식 문서에는 잘 안나오네..

아무튼 idle이벤트는 어떤 행위를 하고 나서 발생을 한다.

즉, 처음 로딩시 설정하고 무언가를 해주더라도 idle 이벤트가 발생하지 않고

마우스로 옮기는 등의 사용자 행동을 한 이후에 idle 이벤트가 발생하게 된다.


    naver.maps.Event.addListener(map, 'idle', function() {

        console.log('idle');

    }); 

[링크 : https://developers.naver.com/forum/posts/26097]

[링크 : https://navermaps.github.io/maps.js/docs/tutorial-UI-Event.html]



+

원래는 로딩시에 idle이 뜨는줄 알고

그 이후에 마커를 표시하려고 했는데 안되서 찾는중


+

UI 이벤트 목록

mousedown, mouseup, click, dblclick, rightclick, mouseover, mouseout, mousemove

dragstart, drag, dragend

touchstart, touchmove, touchend, pinchstart, pinch, pinchend, tap, longtap, twofingertap, doubletap 


[링크 : https://navermaps.github.io/maps.js/docs/tutorial-UI-Event.html]

Posted by 구차니

고갱님의 요청 사항에 의해서 검색을 하는데

구글 API 내용도 조금 걸려나오지만

선이 천천히 그려지는 애니메이션 효과 자체는 기대하기 힘든 듯..

(즉, timer를 쓰던 멀 하던 따로 구현을 해야 하는 것으로 보임)


circle duration

[링크 : https://navermaps.github.io/maps.js/docs/tutorial-3-event-overlay.example.html]



마커 bound animation

[링크 : https://navermaps.github.io/maps.js/docs/tutorial-marker-animation.example.html]

Posted by 구차니

내가 찾던 '그' 방식

map을 생성할때 option 객체를 통해 생성하니 더욱 간결해서 좋다.


[링크 : https://navermaps.github.io/maps.js/docs/tutorial-3-control-positioning.example.html]


아래는 버튼을 따로 그리고 절대 좌표로 띄워놓는 방식

<style type="text/css">

#wrap .buttons { position:absolute;top:0;left:0;z-index:1000;padding:5px; }

#wrap .buttons .control-btn { margin:0 5px 5px 0; }

</style>

<div id="wrap" class="section">

<h2>지도 유형 설정하기</h2>

<p>지도의 유형을 설정하는 예제입니다. 이 예제는 jQuery 구문을 포함하고 있습니다.</p>

<div id="map" style="width:100%;height:600px;">

<div class="buttons">

<input id="NORMAL" type="button" value="일반지도" class="control-btn control-on" />

<input id="TERRAIN" type="button" value="지형도" class="control-btn" />

<input id="SATELLITE" type="button" value="위성지도" class="control-btn" />

<input id="HYBRID" type="button" value="겹쳐보기" class="control-btn" />

</div>

</div>

<code id="snippet" class="snippet"></code>

</div>

<script id="code">

var map = new naver.maps.Map('map', {

center: new naver.maps.LatLng(37.3595704, 127.105399),

zoom: 10

});


var btns = $(".buttons > input");

btns.on("click", function(e) {

e.preventDefault();


var mapTypeId = this.id;


if (map.getMapTypeId() !== naver.maps.MapTypeId[mapTypeId]) {

map.setMapTypeId(naver.maps.MapTypeId[mapTypeId]); // 지도 유형 변경하기


btns.removeClass("control-on");

$(this).addClass("control-on");

}

});

</script> 

[링크 : https://navermaps.github.io/maps.js/docs/tutorial-3-map-types.example.html]

Posted by 구차니

네이버 지도 글들은 아니지만

일단 네이버 예제를 보면 실수 3 자리와 소수 7 자릿수로 나타나는데

그걸 담을 적절한 방법을 찾아 보면 될 듯

(*10해서 10자리라던가?)



[링크 : https://stackoverflow.com/...-ideal-data-type-to-use-when-storing-latitude-longitudes-in-a-mysql]

[링크 : https://dev.mysql.com/doc/refman/5.6/en/spatial-types.html]

Posted by 구차니

마커를 추가하고 클릭시에 이벤트를 어떻게 발생시키는지 찾는중

(네이버 지도에서 검색하고 마커를 누르면 목록에서 선택되는데 이런 작동을 찾는중)


[링크 : https://navermaps.github.io/maps.js/docs/tutorial-UI-Event.html]

[링크 : https://navermaps.github.io/maps.js/docs/tutorial-marker-viewportevents.example.html]

[링크 : https://developers.naver.com/forum/posts/24051]

Posted by 구차니

getBounds()로 화면상에 영역의 정보를 얻고

mapBounds.hasLatLng()를 통해서 인자로 받는 영역이 해당 바운드에 속하는지 확인한다.


function updateMarkers(map, markers) {


    var mapBounds = map.getBounds();

    var marker, position;


    for (var i = 0; i < markers.length; i++) {


        marker = markers[i]

        position = marker.getPosition();


        if (mapBounds.hasLatLng(position)) {

            showMarker(map, marker);

        } else {

            hideMarker(map, marker);

        }

    }

}


[링크 : https://navermaps.github.io/maps.js/docs/tutorial-marker-viewport.example.html]

[링크 : https://developers.naver.com/forum/posts/15738]

Posted by 구차니

네이버 지도 v3 쪽으로 setSize 메소드가 있는지 봐야 할 듯


 oMap.setSize(new nhn.api.map.Size(w, h)); 

[링크 : http://donzbox.tistory.com/548]


setSize(size)

지도 화면의 크기를 픽셀 단위로 설정합니다. 

[링크 : https://navermaps.github.io/maps.js/docs/naver.maps.Map.html#setSize]

Posted by 구차니