LBSTECH / naver_map_plugin

BSD 3-Clause "New" or "Revised" License
52 stars 52 forks source link

ios 에서 일부 폴리곤 holes 가 작동 안하는 문제 #32

Open taeilyoon opened 3 years ago

taeilyoon commented 3 years ago

ios만 폴리곤에 hole 을 2개 이상 넣을시 일부 hole이 무시 되는 현상이 있음. 반시계 방향으로 해도 작동을 하지 않음. 각각은 정상 작동함

좌표 값 [ LatLng(36.47450698425267, 127.27320489505365), LatLng(36.471358835575145, 127.27472272274201), LatLng(36.467838679536904, 127.27545228359406), LatLng(36.4692191519376, 127.27978673336213), LatLng(36.470323512157954, 127.28176083919709), LatLng(36.471393346117566, 127.28270497677033), LatLng(36.47188185376408, 127.28318371306267), LatLng(36.47269284197631, 127.28395618925896), LatLng(36.47353833129041, 127.28487886916008), LatLng(36.47455635720552, 127.28595175276604), LatLng(36.47514301013419, 127.28659548292961), LatLng(36.47560887841412, 127.28723921309319), LatLng(36.47593670996943, 127.28809751997795), LatLng(36.476350811004465, 127.28944935332146), LatLng(36.47693745034972, 127.29101576338616), LatLng(36.47761035471854, 127.29283966551628), LatLng(36.47868008809751, 127.2959939433178), LatLng(36.478997822011074, 127.29675947859187), LatLng(36.479360146225225, 127.2979181928863), LatLng(36.479377399716974, 127.29920565321345), LatLng(36.479360146225225, 127.30072914793391), LatLng(36.479411906688924, 127.30300366117854), LatLng(36.479877749306596, 127.3065441770782), LatLng(36.480309082566606, 127.30926930143733), LatLng(36.48051612167858, 127.31130778028864), LatLng(36.48068865384931, 127.31261669828791), LatLng(36.48215516178967, 127.31223046018977), LatLng(36.483086811239716, 127.31175839140315), LatLng(36.48367339959063, 127.31098591520686), LatLng(36.48350087406606, 127.30884014799494), LatLng(36.48396669210066, 127.30718790724177), LatLng(36.48500183326151, 127.30457007124323), LatLng(36.485950700509164, 127.30304657652277), LatLng(36.486416503814134, 127.30212389662165), LatLng(36.48795650582777, 127.30293650242197), LatLng(36.489716146944396, 127.30400938602793), LatLng(36.49157925279329, 127.30546850773203), LatLng(36.494546328849104, 127.30705637546885), LatLng(36.495477829281974, 127.30787176700937), LatLng(36.49599532468119, 127.31194872471201), LatLng(36.49551232908284, 127.31379408451426), LatLng(36.495443329465736, 127.3158540210377), LatLng(36.494891330315795, 127.31705565067637), LatLng(36.493407813104845, 127.3178710422169), LatLng(36.492786797462784, 127.319330163921), LatLng(36.49468432962021, 127.31971640201914), LatLng(36.49827226335574, 127.31847185703623), LatLng(36.499721189472424, 127.31727022739756), LatLng(36.50103209926356, 127.3156394443165), LatLng(36.50172204287063, 127.31392283054697), LatLng(36.50206701236867, 127.31156248661387), LatLng(36.50196352168066, 127.30954546543467), LatLng(36.49968669154663, 127.3068847140919), LatLng(36.49740979446187, 127.30456728550303), LatLng(36.49602982425153, 127.30276484104502), LatLng(36.494572412203304, 127.30144493523784), LatLng(36.492864632885826, 127.2999428981895), LatLng(36.490967056145216, 127.29839794579692), LatLng(36.48994311730087, 127.29721777383037), LatLng(36.48864927121984, 127.29620926324077), LatLng(36.48775219191735, 127.29573719445415), LatLng(36.4871483826913, 127.29554407540508), LatLng(36.48630304186817, 127.2950076336021), LatLng(36.48523341372915, 127.29432098809428), LatLng(36.4846985941216, 127.29382746163554), LatLng(36.48411201353262, 127.29329101983257), LatLng(36.48347367078665, 127.29271166268535), LatLng(36.4828180700595, 127.29181044045635), LatLng(36.48224872808528, 127.2909735912437), LatLng(36.4814550928984, 127.289407181179), LatLng(36.48103334802241, 127.28831521646725), LatLng(36.480222447086994, 127.2865771450256), LatLng(36.47942879114567, 127.28449575083005), LatLng(36.47808300814545, 127.28144876138913), LatLng(36.477323838193556, 127.27971068994748), LatLng(36.476702693610186, 127.27838031427609), LatLng(36.47637486529513, 127.27687827722775), LatLng(36.47606428982268, 127.2760414280151), LatLng(36.47563293293506, 127.27488271372067), LatLng(36.47504628371492, 127.27398149149167), ], [ LatLng(36.46931899186567, 127.25581427176854), LatLng(36.4699401956255, 127.25349684317968), LatLng(36.47097552416247, 127.25152273734471), LatLng(36.47194181832057, 127.24920530875585), LatLng(36.47394338932706, 127.24714537223241), LatLng(36.477670314842975, 127.24542875846288), LatLng(36.4815350853261, 127.24517126639745), LatLng(36.485537680115925, 127.2442271288242), LatLng(36.48864299913496, 127.24225302298925), LatLng(36.49105816120054, 127.23993559440038), LatLng(36.49561226191743, 127.23864813407323), LatLng(36.49940714128593, 127.23856230338475), LatLng(36.49871717705147, 127.23418493827245), LatLng(36.49954513339509, 127.23152418692968), LatLng(36.502994856200154, 127.2314383562412), LatLng(36.50665139456031, 127.22955008109471), LatLng(36.5090659950194, 127.22791929801366), LatLng(36.51189443119159, 127.2262885149326), LatLng(36.51492971112716, 127.2248293932285), LatLng(36.5157574940858, 127.2259451921787), LatLng(36.516378325493996, 127.22714682181737), LatLng(36.51676829350799, 127.22800309564775), LatLng(36.51747534187117, 127.22844297792619), LatLng(36.51817376135064, 127.22882921602434), LatLng(36.51866523794626, 127.22925836946672), LatLng(36.519337779807934, 127.2297948112697), LatLng(36.52001031582405, 127.23039562608903), LatLng(36.52063111311202, 127.23110372926897), LatLng(36.52128639373454, 127.23185474779314), LatLng(36.52138985858869, 127.2322624435634), LatLng(36.52153643356185, 127.23254139330095), LatLng(36.52189855877569, 127.23277742769426), LatLng(36.521657142154794, 127.23317439462846), LatLng(36.520708712422795, 127.2337215652675), LatLng(36.52028622634474, 127.23418290521806), LatLng(36.519958582491874, 127.23425800707048), LatLng(36.51998444916229, 127.23492319490617), LatLng(36.52013964900313, 127.23556692506975), LatLng(36.52020862661024, 127.23647887613481), LatLng(36.52041555906261, 127.23713333513444), LatLng(36.52039831471272, 127.23768050577348), LatLng(36.52042418123614, 127.23873193170732), LatLng(36.52041555906261, 127.23920400049394), LatLng(36.52095875411701, 127.23919327165788), LatLng(36.52107528274614, 127.2398022048045), LatLng(36.52104079433657, 127.24070342703351), LatLng(36.52096319535887, 127.24112185163983), LatLng(36.52089421842443, 127.24166902227887), LatLng(36.520911462663825, 127.24205526037701), LatLng(36.521144259519154, 127.24240931196698), LatLng(36.521506386568525, 127.24273117704877), LatLng(36.521859889910466, 127.24320324583539), LatLng(36.52212717185278, 127.24348219557294), LatLng(36.521949043767016, 127.24460614451812), LatLng(36.522155971564636, 127.24555028209136), LatLng(36.522535337756175, 127.24636567363189), LatLng(36.522949189661766, 127.2476102186148), LatLng(36.52322508970227, 127.24838269481108), LatLng(36.523742399626265, 127.24949849376128), LatLng(36.52360445065144, 127.25039971599028), LatLng(36.522535337756175, 127.25035680064605), LatLng(36.521914555746946, 127.25091470012114), LatLng(36.52174211541598, 127.25194466838286), LatLng(36.521604162874475, 127.25258839854644), LatLng(36.521466210087, 127.25374711284087), LatLng(36.52091439647733, 127.25447667369292), LatLng(36.5202246239309, 127.25447667369292), LatLng(36.51960382338151, 127.25481999644683), LatLng(36.51946586702744, 127.25524914988921), LatLng(36.51922444281598, 127.25619328746245), LatLng(36.51887954977861, 127.2574807477896), LatLng(36.51867261321828, 127.25816739329741), LatLng(36.51863812373777, 127.25851071605132), LatLng(36.519051996489466, 127.25932610759185), LatLng(36.519051996489466, 127.26052773723052), LatLng(36.51912097506618, 127.26121438273833), LatLng(36.520879907996054, 127.26121438273833), LatLng(36.521328257053526, 127.26250184306548), LatLng(36.5211558154158, 127.26396096476958), LatLng(36.52005217983346, 127.26481927165435), LatLng(36.51901750717804, 127.26486218699858), LatLng(36.51739649220056, 127.26563466319487), LatLng(36.51674117863482, 127.26567757853911), LatLng(36.51643076500882, 127.2670079542105), LatLng(36.516258312456344, 127.26850999125884), LatLng(36.51601687823722, 127.26919663676665), LatLng(36.51518909805315, 127.26923955211089), LatLng(36.51446478312868, 127.26923955211089), LatLng(36.51315410079503, 127.26868165263579), LatLng(36.51256773572252, 127.26850999125884), LatLng(36.51274019649914, 127.26748002299712), LatLng(36.511808903740025, 127.26730836162017), LatLng(36.51142948495879, 127.2673512769644), LatLng(36.5104981764283, 127.26786626109526), LatLng(36.50960593886649, 127.26818344362749), LatLng(36.509467964688845, 127.26891300447954), LatLng(36.50936448389422, 127.26977131136431), LatLng(36.508916065518875, 127.2705437875606), LatLng(36.50815719773497, 127.27037212618364), LatLng(36.507605289219306, 127.27118751772417), LatLng(36.50722584983216, 127.27183124788775), LatLng(36.50722584983216, 127.27183124788775), LatLng(36.5069960822124, 127.2721601331715), LatLng(36.50651315523272, 127.27312572841686), LatLng(36.506116462959945, 127.27368362789196), LatLng(36.50589224468919, 127.274413188744), LatLng(36.50570252102976, 127.27488525753063), LatLng(36.50554729223531, 127.27544315700572), LatLng(36.50459866506163, 127.27411278133434), LatLng(36.50459866506163, 127.273511966515), LatLng(36.50459866506163, 127.27276094799083), LatLng(36.50439169031535, 127.27226742153209), LatLng(36.50366727434584, 127.27224596385997), LatLng(36.503477545233714, 127.27256782894176), LatLng(36.502580303148584, 127.27221171481949), LatLng(36.50157989400207, 127.2724477492128), LatLng(36.501045187260935, 127.2725550375734), LatLng(36.50068296446732, 127.2725550375734), LatLng(36.50030349115176, 127.27240483386856), LatLng(36.500044758279415, 127.27216879947525), LatLng(36.49968253080568, 127.2716538153444), LatLng(36.49932030163742, 127.27079550845963), LatLng(36.49892357250886, 127.27000157459122), LatLng(36.49866483502561, 127.26937930209976), LatLng(36.49792311611541, 127.26948659046036), LatLng(36.4961636614491, 127.26967970950943), LatLng(36.49512866944237, 127.26914326770645), LatLng(36.494749168907525, 127.2688643179689), LatLng(36.49421441499747, 127.26858536823136), LatLng(36.49314489610025, 127.26783434970719), LatLng(36.492817137352596, 127.26710478885514), LatLng(36.49250662778593, 127.26648251636368), LatLng(36.492299620716544, 127.2659460745607), LatLng(36.49243762549092, 127.26440112216812), LatLng(36.49271363430203, 127.26341406925064), LatLng(36.491989109075114, 127.26354281528336), LatLng(36.490850555739456, 127.26388613803726), LatLng(36.4887114102736, 127.2644869528566), LatLng(36.48619266327369, 127.26620356662613), LatLng(36.48519204242167, 127.26680438144547), LatLng(36.483328782948725, 127.26783434970719), LatLng(36.482569664390574, 127.268520995215), LatLng(36.48080986094573, 127.2690788946901), LatLng(36.47991269086627, 127.26822058780533), LatLng(36.479740156967786, 127.26633231265885), LatLng(36.47939508801831, 127.26418654544693), LatLng(36.47898100325057, 127.26341406925064), LatLng(36.478474910038365, 127.26280353269703), LatLng(36.478164342982126, 127.26241729459889), LatLng(36.47740517382702, 127.26149461469777), LatLng(36.47661148903107, 127.26001403532155), LatLng(36.47595583024253, 127.25954196653493), LatLng(36.47530016590693, 127.25902698240407), LatLng(36.474851550270685, 127.2585119982732), LatLng(36.47407509399435, 127.2585119982732), LatLng(36.47338490410726, 127.25853345594533), LatLng(36.46931899186567, 127.25581427176854), ]

sjpark-lbstech commented 3 years ago

저도 테스트 해봤는데 iOS는 2개 이상의 홀이 동작하지 않는것 같습니다. 지속적으로 확인하고 피드백 하겠습니다

taeilyoon commented 3 years ago

IOS 네이티브 맵 문제인거 같습니다.

임의의 점 하나를 정하고 모든 holes 을 연결 시키면 해결됩니다.

List holes = [startPoint];

rawHole.forEach((element) {
  if (element.first != element.last) {
    element.add(element.first);
  }
  holes.addAll(element);
  holes.add(startPoint);
});