Advertisement
xenoside

kakaomap merge proximity positions

Aug 22nd, 2023 (edited)
698
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // https://apis.map.kakao.com/web/sample/multipleMarkerEvent/
  2. // positions 근접 좌표 합치기 예제.
  3.  
  4. var latlngs = [
  5.     {lat:33.450705, lng:126.570677, content:'<div>카카오</div>'},
  6.     {lat:33.450715, lng:126.570677, content:'<div>카카오중복</div>'},
  7.     {lat:33.450936, lng:126.569477, content:'<div>생태연못</div>'},
  8.     {lat:33.450879, lng:126.569940, content:'<div>텃밭</div>'},
  9.     {lat:33.450899, lng:126.569940, content:'<div>텃밭중복</div>'},
  10.     {lat:33.451393, lng:126.570738, content:'<div>근린공원</div>'},
  11. ];
  12. var mergedLatlngs = {};
  13. latlngs.forEach(latlng => {
  14.     var lat = Math.round(latlng.lat * 10000) / 10000, lng = Math.round(latlng.lng * 10000) / 10000; // 정확도를 소수점 4자리까지만으로 줄여서 중복을 합침.
  15.     if(!mergedLatlngs[lat]) mergedLatlngs[lat] = {};
  16.     if(!mergedLatlngs[lat][lng]) mergedLatlngs[lat][lng] = [];
  17.     mergedLatlngs[lat][lng].push(latlng.content);
  18. });
  19.  
  20. var positions = [];
  21. for(var lat in mergedLatlngs)
  22.     for(var lng in mergedLatlngs[lat])
  23.         positions.push({
  24.             content:mergedLatlngs[lat][lng].join(''),
  25.             latlng: new kakao.maps.LatLng(lat * 1.0, lng * 1.0)
  26.         });
Tags: kakaomap
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement