시군구 카카오맵에 폴리건 그리기
fetch('/resources/json/sig.json')
.then(response => response.json())
.then(data => {
const { kakao } = window;
var features = data.features; // geojson의 features를 변수에 할당
features.forEach(feature => {
var coordinates = feature.geometry.coordinates; // feature의 좌표 데이터
var name = feature.properties.SIG_KOR_NM; // feature의 이름 데이터
feature.name = feature.properties.SIG_KOR_NM;
var ob = new Object();
ob.name=name;
ob.path=[];
coordinates[0].forEach(coordinate => {
var latlng = new kakao.maps.LatLng(coordinate[1], coordinate[0]); // 경도, 위도 순서로 좌표 변환
ob.path.push(latlng); // 경로에 좌표 추가
});
displayPoly(ob); // 경계 영역을 표시
polygons.push(ob); // 전역변수에 넣어주기
});// forEach end
function displayPoly(ob) {
var polygon = new kakao.maps.Polygon({
path: ob.path, // 경로 설정
strokeWeight: 2, // 선 두께 설정
strokeColor: '#FF0000', // 선 색상 설정
strokeOpacity: 0.01, // 선 투명도 설정
fillColor: '#FF0000', // 채우기 색상 설정
fillOpacity: 0.00001 // 채우기 투명도 설정
});
polygon.setMap(map); // 지도에 경계 영역 추가
polyEventAdd(polygon, ob);
};//display
})//try 끝
.catch(error => {
console.error('데이터 가져오기 실패:', error);
});
//폴리건마다 mouseover 이벤트 넣어줌 (구 이름 찾기)
function polyEventAdd (polygon, ob){
kakao.maps.event.addListener(polygon, 'mouseover', function() {
if(state){
state = false;
if(ob.name != nowGu){ //현재 구와 지도 구가 다를때
nowGu = ob.name;
searchList(); //검색
}
else {return;} //현재 구와 지도 구가 같음 (검색할 필요 없음.)
}
else {return;}
});//mouseover
};
열심히 그렸는데 사용하지 않게 되어 기록해둠..
var bounds = map.getBounds();
for(var i=0; i<markersArr.length; i++){
if(bounds.contain(markersArr[i].getPosition())){
info.push(markerAddArr[i].replace("서울 ",""));
console.log(info[i]);
}
}
info = info.join(',');
'Study > JavaScript' 카테고리의 다른 글
[카카오맵api] Uncaught TypeError: Cannot read properties of undefined (reading 'getMarkers') (0) | 2024.05.02 |
---|---|
[자바스크립트] script 혹은 function 을 인식하지 못하는 문제 (0) | 2024.04.30 |
[제이쿼리] 1218 수업 아카이브 (0) | 2023.12.18 |
[자바스크립트] <br/> 과   의 차이점 / a href의 활용 (1) | 2023.12.17 |
[jQuery] 1215 제이쿼리 기본 문법+선택자+요소를 구하는 방법 (1) | 2023.12.17 |
댓글