OpenLayers 3 지도 에 대한 기본 조작 실현
5577 단어 OpenLayers3지도.
1.머리말
지도 에 대한 기본 적 인 조작 은 지도 에 대한 확대,축소,이동,복원 과 업데이트 등 으로 OpenLayers 3 프레임 워 크 에서 지도 보기(View)를 조작 하 는 방법 이다.
2.사고의 실현
(1)웹 페이지 를 새로 만 듭 니 다.앞의 글 을 참조 하여 OSM 기와 지 도 를 불 러 옵 니 다.보기 로 맵 의 최대,최소 크기 조정 단계 와 초기 회전 각 도 를 설정 하고 jQuery 와 boottstrap 을 사용 하여 크기 조정 컨트롤 과 회전 컨트롤 마우스 서 스 펜 션 알림 의 효 과 를 실현 합 니 다.
(2)지도 용기 에 4 개의 단추(button)를 새로 만 들 고 단추 의 id 를 설정 하 며 css 제어 단 추 를 통 해 스타일 을 만 듭 니 다.
(3)버튼 마다 onclick 이 벤트 를 추가 하고 함수 에서 OpenLayer 3 에서 지도 보 기 를 조작 하 는 해당 방법 을 호출 하여 확대,축소,특정한 위치 로 이동 및 복원 기능 을 실현 합 니 다.
(4)컨트롤 크기 조정 및 회전 컨트롤 에 tooltip 알림 정 보 를 추가 하고 tooltip 의 거품 위 치 를 설정 합 니 다.
3.코드 는 다음 과 같다
html 코드:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> </title>
<link rel="stylesheet" href="css/bootstrap.min.css" >
<link rel="stylesheet" href="css/ol.css" >
<link rel="stylesheet" href="css/ZoomSlider.css" >
<script src="js/ol.js"></script>
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/Operation.js"></script>
<style>
#map {
width: 100%;
height: 570px;
}
#menu {
float: left;
position: absolute;
bottom: 10px;
z-index: 2000;
}
.tooltip-inner {
white-space: nowrap;
}
</style>
</head>
<body onload="init()">
<div id="map">
<div id="menu">
<button id="zoom-out" class="btn btn-info"> </button>
<button id="zoom-in" class="btn btn-info"> </button>
<button id="panto" class="btn btn-info"> </button>
<button id="restore" class="btn btn-info"> </button>
</div>
</div>
</body>
</html>
js 코드:
function init() {
// Map ,
var map = new ol.Map({
target: 'map', // div
//
layers: [
// OSM
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
//
view: new ol.View({
center: [12950000, 4860000], //
zoom: 8, //
minZoom: 6, //
maxZoom: 12, //
rotation: Math.PI / 6 //
})
});
//
var view = map.getView();
var zoom = view.getZoom();
var center = view.getCenter();
var rotation = view.getRotation();
//
document.getElementById('zoom-out').onclick = function() {
var view = map.getView(); //
var zoom = view.getZoom(); //
view.setZoom(zoom - 1); //
}
//
document.getElementById('zoom-in').onclick = function() {
var view = map.getView(); //
var zoom = view.getZoom(); //
view.setZoom(zoom + 1); //
}
//
document.getElementById('panto').onclick = function() {
var view = map.getView(); //
var lz = ol.proj.fromLonLat([103.73333, 36.03333]);
view.setCenter(lz); //
}
// ( )
document.getElementById('restore').onclick = function() {
view.setCenter(center); //
view.setRotation(rotation); //
view.setZoom(zoom); //
}
// tooltip
$('.ol-zoom-in,.ol-zoom-out').tooltip({
placement: 'right' //tooltip
});
$('.ol-rotate-reset,.ol-attribution button[title]').tooltip({
placement: 'left' //tooltip
});
}
다음 과 같은 효과 보이 기:4.코드 분석
맵 의 크기 조정,이동,회전 등 기본 동작 은 지도 보기 View 를 통 해 제어 합 니 다.지도 보기 에 해당 하 는 set 방법 으로 이 루어 집 니 다.먼저 맵 의 getView()를 통 해 현재 맵 을 가 져 올 때 보기 대상 을 가 져 온 다음 보기 대상 에 따라 get 방법 으로 현재 크기 조정 단계(Zoom),중심 점(center)을 가 져 와 야 합 니 다.회전 각도(rotation)등 매개 변수.
(1)지도 크기 조정
View 의 setZoom 방법 을 통 해 이 루어 진 크기 조정 단 계 는 setZoom 방법의 매개 변수 로 설정 합 니 다.먼저 view.getZoom()을 통 해 현재 맵 의 단 계 를 가 져 온 다음 setZoom 방법 으로 크기 조정(view.setZoom(zoom-1)을 하면 지 도 를 한 단계 축소 할 수 있 습 니 다.view.setZoom(zoom+1)을 통 해.지 도 를 한 단계 확대 할 수 있 습 니 다.
(2)지도 이동
지 도 를 이동 하 는 것 은 지도 현재 지도의 중심 을 바 꾸 어 지도 보기 의 set Center 방법 을 통 해 이 루어 진다.먼저 맵 대상 을 통 해 맵 의 보기 대상 을 가 져 온 다음 setCenter 방법 으로 설정 합 니 다.함수 가 전달 하 는 매개 변 수 는 지도 중심의 좌표 점 이다.
(3)회전 지도
이것 은 맵 에 기본적으로 불 러 오 는 회전 컨트롤(ol.control.Rotate)을 통 해 이 루어 집 니 다.Rotate 컨트롤 의 autoHide 매개 변 수 는 기본적으로 true 로 설정 되 어 있 으 며 회전 각도 가 0 일 때 자동 으로 회전 기능 을 숨 깁 니 다.이 예 에서 우 리 는 지도의 초기 회전 각 을 60°(rotation:Math.PI/6//회전 각 도 를 설정)로 설 정 했 기 때문에 회전 단 추 를 눌 렀 을 때 60°를 0°로 돌려 버튼 을 숨 깁 니 다.
(4)리 셋 맵
이 기능 은 지 도 를 우리 가 지 도 를 처음 불 러 온 상태 로 복원 하 는 것 입 니 다.이것 은 View 의 설정 과 관련 되 어 있 습 니 다.우 리 는 먼저 지 도 를 불 러 올 때의 크기 조정 단계,중심 점,회전 각 도 를 얻 은 다음 에 setZoom,setCenter,setRotation 방법 으로 설정 하여 지도의 복원 기능 을 실현 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
OpenLayers 3 로 딩 상용 컨트롤 사용 방법 상세 설명지도 컨트롤 은 지도 크기 조정,전체 화면,좌표 표시 컨트롤 등 으로 우리 가 지 도 를 조작 하 는 데 편리 합 니 다.OpenLayers 3 은 지도 내 비게 이 션,비례 자,매의 눈,측정 도구 등 자주 사용 하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.