- 강제이동
- javascript 바코드스캔
- 하드 윈도우 복사
- ViewBag
- 하드 마이그레이션
- asp.net dropdownlist
- jquery 바코드
- php 캐쉬제거
- Mac Oracle
- django 엑셀불러오기
- XSS PHP
- javascript redirection
- 바코드 스캔하기
- 바코드 생성하기
- 파일업로드 체크
- 맥 오라클설치
- ASP.Net Core 404
- ViewData
- javascript 유효성체크
- javascript 바코드 생성
- jquery 바코드생성
- TempData
- 404에러페이지
- 말줄임표시
- 타임피커
- 파일업로드 유효성체크
- XSS방어
- asp.net Select
- asp.net core Select
- SSD 복사
웹개발자의 기지개
[javascript] 네이버지도 연동하기 ( Naver Map ) 본문
먼저 필자가 작업한 네이버지도 결과 화면이다.
그리고, 네이버 api 연동 소스는 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<script type="text/javascript" src="https://openapi.map.naver.com/openapi/v3/maps.js?ncpClientId=클라이언트키"></script>
<div id="map" style="width:100%;height:400px;"></div>
<script>
var mapOptions = {
center: new naver.maps.LatLng(35.854721, 128.482413),
zoom: 16
};
var map = new naver.maps.Map('map', mapOptions);
var marker = new naver.maps.Marker({
position: new naver.maps.LatLng(35.854721, 128.482413),
title: '계명대출판부\n보산관 105호',
map: map
});
var contentString = [
'<div style="padding:4px 4px;">',
' <div style="font-weight:bold;padding-bottom:3px;">계명대출판부</div>',
' <p>보산관 105호<p>',
'</div>'
].join('');
var infowindow = new naver.maps.InfoWindow({
content: contentString
});
naver.maps.Event.addListener(marker, "click", function(e) {
if (infowindow.getMap()) {
infowindow.close();
} else {
infowindow.open(map, marker);
}
});
infowindow.open(map, marker);
</script>
|
cs |
최근에 네이버지도가 기존의 api 가 폐지되고, 네이버 클라우드 플랫폼안으로 들어가면서 더욱 새롭게 바뀌었다.
www.ncloud.com/product/applicationService/maps
console.ncloud.com/mc/solution/naverService/application
새롭게 Application 이름을 등록하고, Web Dynamic Map 항목을 클릭하고 아래의 등록버튼을 눌러 완료한다.
인증정보 버튼을 눌러, 키값을 확인하도록 하자.
Client ID 값으로 javascript 함수에 바로 이동한다.
그리고, Open API 관련 페이지에서 Example 소스와 Document 페이지를 통하여 소스를 자세히 꾸며볼 수 있다.
Maps Enterprise API 목록
docs.ncloud.com/ko/naveropenapi_v3/maps/overview.html
navermaps.github.io/maps.js.ncp/docs/tutorial-Map.html
navermaps.github.io/maps.js.ncp/docs/tutorial-2-Getting-Started.html
navermaps.github.io/maps.js.ncp/docs/tutorial-1-map-simple.example.html
[ 마커 이용하기 ]
navermaps.github.io/maps.js.ncp/docs/tutorial-2-Marker.html
[ 마커위에 정보창 올리기 ]
navermaps.github.io/maps.js.ncp/docs/tutorial-3-InfoWindow.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
var HOME_PATH = window.HOME_PATH || '.';
var cityhall = new naver.maps.LatLng(37.5666805, 126.9784147),
map = new naver.maps.Map('map', {
center: cityhall.destinationPoint(0, 500),
zoom: 15
}),
marker = new naver.maps.Marker({
map: map,
position: cityhall
});
var contentString = [
'<div class="iw_inner">',
' <h3>서울특별시청</h3>',
' <p>서울특별시 중구 태평로1가 31 | 서울특별시 중구 세종대로 110 서울특별시청<br />',
' <img src="'+ HOME_PATH +'/img/example/hi-seoul.jpg" width="55" height="55" alt="서울시청" class="thumb" /><br />',
' 02-120 | 공공,사회기관 > 특별,광역시청<br />',
' <a href="http://www.seoul.go.kr" target="_blank">www.seoul.go.kr/</a>',
' </p>',
'</div>'
].join('');
var infowindow = new naver.maps.InfoWindow({
content: contentString
});
naver.maps.Event.addListener(marker, "click", function(e) {
if (infowindow.getMap()) {
infowindow.close();
} else {
infowindow.open(map, marker);
}
});
infowindow.open(map, marker);
|
cs |
[ 마커 아이콘 사용하기 ]
navermaps.github.io/maps.js.ncp/docs/tutorial-5-marker-html-icon.example.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
var HOME_PATH = window.HOME_PATH || '.';
var map = new naver.maps.Map('map', {
bounds: naver.maps.LatLngBounds.bounds(new naver.maps.LatLng(37.3585229, 127.1010728),
new naver.maps.LatLng(37.3658036, 127.1222656))
});
var defaultMarker = new naver.maps.Marker({
position: new naver.maps.LatLng(37.3606904, 127.1061625),
map: map,
icon: {
content: '<img src="'+ HOME_PATH +'/img/example/pin_default.png" alt="" ' +
'style="margin: 0px; padding: 0px; border: 0px solid transparent; display: block; max-width: none; max-height: none; ' +
'-webkit-user-select: none; position: absolute; width: 22px; height: 35px; left: 0px; top: 0px;">',
size: new naver.maps.Size(22, 35),
anchor: new naver.maps.Point(11, 35)
}
});
var greenMarker = new naver.maps.Marker({
position: new naver.maps.LatLng(37.3613962, 127.1112487),
map: map,
title: 'Green',
icon: {
content: [
'<div class="cs_mapbridge">',
'<div class="map_group _map_group crs">',
'<div class="map_marker _marker num1 num1_big"> ',
'<span class="ico _icon"></span>',
'<span class="shd"></span>',
'</div>',
'</div>',
'</div>'
].join(''),
size: new naver.maps.Size(38, 58),
anchor: new naver.maps.Point(19, 58),
},
draggable: true
});
var pinkMarker = new naver.maps.Marker({
position: new naver.maps.LatLng(37.3637770, 127.1174332),
map: map,
icon: {
content: [
'<div class="cs_mapbridge">',
'<div class="map_group _map_group">',
'<div class="map_marker _marker tvhp tvhp_big">',
'<span class="ico _icon"></span>',
'<span class="shd"></span>',
'</div>',
'</div>',
'</div>'
].join(''),
size: new naver.maps.Size(38, 58),
anchor: new naver.maps.Point(19, 58),
}
});
pinkMarker.setTitle('Pink Hot');
pinkMarker.setDraggable(true);
|
cs |
'javascript' 카테고리의 다른 글
[javascript] checkbox 전체선택, 전체해제, 선택한 checkbox 내용확인하기 1 (0) | 2020.10.27 |
---|---|
[javascript] PDF 자동 로딩 - pdf.js 소스 연동하기 (모바일,pc 자동로딩) (1) | 2020.09.19 |
[javascript] Button 클릭시 submit 되는 현상 막기 (0) | 2020.08.05 |
[javascript] 로그인 유효성 체크하기 (onsubmit 과 onkeydown) (0) | 2020.07.20 |
[javascript] 숫자 세자리마다 쉼표 찍기 (0) | 2020.05.17 |