CINXE.COM

Find a Dealer | Shopping Tools | Kia Singapore

<!DOCTYPE html> <html lang="en-SG"> <head> <title>Find a Dealer | Shopping Tools | Kia Singapore</title> <meta charset="utf-8" /> <!-- 170511 신규태깅 추가 --> <!-- End --> <!-- meta --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta name="keywords" content=""> <meta name="title" content="Find a Dealer | Shopping Tools | Kia Singapore" /> <meta name="description" content="Let our active dealer network help you buy a new Kia or service your Kia. Locate the nearest Kia dealer, and book a test drive/service or request a quote."> <!--<meta name="description" content="Let our active dealer network help you buy a new Kia or service your Kia. Locate the nearest Kia dealer, and book a test drive/service or request a quote.">--> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=2.0,user-scalable=yes"> <meta name="robots" content="NOODP, NOYDIR"> <!-- 20181212 SEO Analytics pagename 수정 요청 YKJ START--> <meta name="kia_metrics_pagename" content="shopping tools|find a dealer|"> <!-- 20181212 SEO Analytics pagename 수정 요청 YKJ END--> <link rel="canonical" href="https://www.kia.com/sg/shopping-tools/find-a-dealer.html"> <link rel="shortcut icon" type="image/x-icon" href="/content/dam/kwcms/gt/en/images/new/favicon_new.png"> <!--#50165 favicon 위치 변경 --> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="Kia Singapore" /> <meta name="twitter:title" content="Find a Dealer | Shopping Tools | Kia Singapore" /> <meta name="twitter:description" content="Let our active dealer network help you buy a new Kia or service your Kia. Locate the nearest Kia dealer, and book a test drive/service or request a quote." /> <meta name="twitter:image" content="/content/dam/kwcms/gt/en/images/new/main/main-hero-still-air-w-sns.jpg" /> <meta name="twitter:url" content="https://www.kia.com/sg/shopping-tools/find-a-dealer.html" /> <meta name="twitter:creator" contents="Kia" /> <meta property="og:site_name" content="Kia Singapore" /> <meta property="og:title" content="Find a Dealer | Shopping Tools | Kia Singapore" /> <meta property="og:type" content="website" /> <meta property="og:description" content="Let our active dealer network help you buy a new Kia or service your Kia. Locate the nearest Kia dealer, and book a test drive/service or request a quote." /> <meta property="og:image" content="/content/dam/kwcms/gt/en/images/new/main/main-hero-still-air-w-sns.jpg" /> <meta property="og:url" content="https://www.kia.com/sg/shopping-tools/find-a-dealer.html" /> <meta itemprop="name" content="Find a Dealer | Shopping Tools | Kia Singapore"> <meta itemprop="description" content="Let our active dealer network help you buy a new Kia or service your Kia. Locate the nearest Kia dealer, and book a test drive/service or request a quote."> <meta itemprop="image" content="/content/dam/kwcms/gt/en/images/new/main/main-hero-still-air-w-sns.jpg"> <meta itemprop="keywords" content="kia, Kia, kia dealer, find dealer, KIA Showroom, united motors ltd"> <meta itemprop="url" content="https://www.kia.com/sg/shopping-tools/find-a-dealer.html"/> <meta name="google-site-verification" content="Bdi8M3OL_k41KEnIHGD0C6G0iQKbJ0vx-SspByDIuhs" /> <!-- #47653 속도개선--> <script src="/etc/designs/kia-singapore/clientlib-libjs.min.js"></script> <script type="text/javascript" src="/etc/designs/kia-singapore/clientlib-angular.js"></script> <link rel="stylesheet" href="/etc/designs/kia-singapore/clientlib.min.css" type="text/css"> <script src="/etc/designs/kia-singapore/clientlib.min.js"></script> <script type="text/javascript" src="/etc/designs/kia-singapore/clientlib/js/font-load.js"></script> <link rel="stylesheet" href="/etc/designs/kia-global/clientlib/css/experience.css" type="text/css"> <script type="text/javascript" src="/etc/designs/kia-global/clientlib/js/experience.js"></script> <link rel="stylesheet" href="/etc/designs/kia-singapore/local-page.min.css" type="text/css"> <link rel="stylesheet" href="/etc/designs/kia-singapore/new-wsg.min.css" type="text/css"> <!-- https change --> <!-- --> <script type="text/javascript"> var dtmDataLayer = {}; </script> <!-- Google Tag Manager 20171102 YKJ--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NVBF8X9');</script> <!-- End Google Tag Manager --> <!-- Start of DoubleClick Floodlight Tag: Please do not remove Activity name of this tag: Showroom_Carens URL of the webpage where the tag is expected to be placed: http://www.kia.com/sg/main.html This tag must be placed between the <body> and </body> tags, as close as possible to the opening tag. Creation Date: 12/18/2017 --> <script type="text/javascript"> var axel = Math.random() + ""; var a = axel * 10000000000000; //document.write('<iframe src="ht' + 'tps://8300362.fls.doubleclick.net/activityi;src=8300362;type=kia_s0;cat=showr006;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); </script> <noscript> <iframe src="https://8300362.fls.doubleclick.net/activityi;src=8300362;type=kia_s0;cat=showr006;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;ord=892360?" width="1" height="1" frameborder="0" style="display:none"></iframe> </noscript> <!-- End of DoubleClick Floodlight Tag: Please do not remove --> <!-- Facebook Pixel Code 20200121 #44885--> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '554853668427827'); fbq('track', 'PageView'); fbq('track', 'ViewContent'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=554853668427827&ev=PageView&noscript=1"/></noscript> <!-- End Facebook Pixel Code --> <!-- #52342 Start of global snippet: Please do not remove Place this snippet between the <head> and </head> tags on every page of your site. --> <!-- Global site tag (gtag.js) - Google Marketing Platform --> <script async src="https://www.googletagmanager.com/gtag/js?id=DC-8300362"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'DC-8300362'); </script> <!-- End of global snippet: Please do not remove --> <!-- /apps/kia-singapore/components/page/page/head CSS,JS end --> <!-- head-in-content start --> <script> window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'page_view' , 'page_name': 'shopping tools|find a dealer|' // 페이지명. Adobe Analytic page name을 설정하기 위해 설정한 meta tag중 "meta name = kia_metrics_pagename"에 설정된 content 값 입력, eg) <meta name="kia_metrics_pagename" content="cars | carnival | features"> , 'page_type': 'find-a-dealer' //도메인을 제외한 URI의 2depth 카테고리명 입력, 단 Main의 경우 2depth가 없으므로 HOME으로 입력, eg) /shopping-tools/build-your-own --> build-your-own 입력 , 'prv_page_name': document.referrer == '' ? 'entry' : document.referrer // 다음 페이지로 이동 시 이전 페이지명 기록, 첫 페이지의 경우 이전 페이지명이 없으므로 'entry'라고 입력 }); //console.log( JSON.stringify( window.dataLayer[window.dataLayer.length-1] ) ); </script> <!-- Google Tag Manager #55505 #54979 START --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TLVNBZQ');</script> <!-- End Google Tag Manager #55505 #54979 END --> <!-- Google Tag Manager #63161--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://protect-au.mimecast.com/s/3WALCNLJVXtNYJoEhAFgzi?domain=googletagmanager.com'+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-P8R3X5NC');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager #63805--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PBD97DL3');</script> <!-- End Google Tag Manager --> <!-- //head-in-content end --> </head> <body> <!-- body-top-content start --> <!-- Google Tag Manager (noscript) #55505 #54979 START --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TLVNBZQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) #55505 #54979 END --> <!-- Google Tag Manager (noscript) #63161--> <noscript><iframe src="https://protect-au.mimecast.com/s/uTrICOMKWLhADl30hQzCT6?domain=googletagmanager.com" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) #63805--> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PBD97DL3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) #63551--> <noscript><iframe src="https://protect-au.mimecast.com/s/TC5NCgZ0A8fl95D5CWB5Y8?domain=googletagmanager.com" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- //body-top-content end --> <script> // INSTRUCTIONS // The VersaTag code should be placed at the top of the <BODY> section of the HTML page. // To ensure that the full page loads as a prerequisite for the VersaTag // being activated (and the working mode is set to synchronous mode), place the tag at the bottom of the page. Note, however, that this may // skew the data for slow-loading pages, and in general is not recommended. // If the VersaTag code is configured to run in async mode, place the tag at the bottom of the page before the end of the <BODY > section. // // NOTE: You can test if the tags are working correctly before the campaign launches // as follows: Browse to http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=at, which is // a page that lets you set your local machine to 'testing' mode. In this mode, when // visiting a page that includes a VersaTag, a new window will open, showing you // the tags activated by the VersaTag and the data sent by the VersaTag tag to the Sizmek servers. // // END of instructions (These instruction lines can be deleted from the actual HTML) var versaTag = {}; versaTag.id = "6556"; versaTag.sync = 0; versaTag.dispType = "js"; versaTag.ptcl = "HTTP"; versaTag.bsUrl = "bs.serving-sys.com/BurstingPipe"; //VersaTag activity parameters include all conversion parameters including custom parameters and Predefined parameters. Syntax: "ParamName1":"ParamValue1", "ParamName2":"ParamValue2". ParamValue can be empty. versaTag.activityParams = { //Predefined parameters: "Session":"" //Custom parameters: }; //Static retargeting tags parameters. Syntax: "TagID1":"ParamValue1", "TagID2":"ParamValue2". ParamValue can be empty. versaTag.retargetParams = {}; //Dynamic retargeting tags parameters. Syntax: "TagID1":"ParamValue1", "TagID2":"ParamValue2". ParamValue can be empty. versaTag.dynamicRetargetParams = {}; // Third party tags conditional parameters and mapping rule parameters. Syntax: "CondParam1":"ParamValue1", "CondParam2":"ParamValue2". ParamValue can be empty. versaTag.conditionalParams = {}; </script> <script id="ebOneTagUrlId" src="http://ds.serving-sys.com/SemiCachedScripts/ebOneTag.js"></script> <noscript> <iframe src="http://bs.serving-sys.com/BurstingPipe? cn=ot&amp; onetagid=6556&amp; ns=1&amp; activityValues=$$Session=[Session]$$&amp; retargetingValues=$$$$&amp; dynamicRetargetingValues=$$$$&amp; acp=$$$$&amp;" style="display:none;width:0px;height:0px"></iframe> </noscript> <!-- content --> <!-- #45539 2020.03.20 Start of Floodlight Tag: Please do not remove Activity name of this tag: Kia.com_Discover_Awards URL of the webpage where the tag is expected to be placed: https://www.kia.com/sg/discover-kia/our-story/awards.html This tag must be placed between the <body>tags, as close as possible to the opening tag. Creation Date: 03/18/2020 --> <script type="text/javascript"> var axel = Math.random() + ""; var a = axel * 10000000000000; document.write('<iframe src="https://8300362.fls.doubleclick.net/activityi;src=8300362;type=kia_s00;cat=shopp0;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); </script> <noscript> <iframe src="https://8300362.fls.doubleclick.net/activityi;src=8300362;type=kia_s00;cat=shopp0;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;ord=1?" width="1" height="1" frameborder="0" style="display:none"></iframe> </noscript> <!-- End of Floodlight Tag: Please do not remove --> <div class="accessbility"><a href="#content">Go to content</a></div> <div id="wrap"> <div id="header" class="main_header"> <div class="header_in"> <!-- GT SEO 20150827 h1 > div --> <div class="logo_h1"><a href="/sg/main.html" class="lg_a"></a></div> <!-- new wsg --> <!--//모바일 검색창 2018.06.11 추가 --> <a href="#" class="open_gnb"><span class="cmm_spr spr_menu">open menu</span></a> <!-- //GNB --> <!-- GNB gnb_area open --> <div class="gnb_area"> <!-- GNB menu S --> <div class="gnb_menu gnb-menu"> <ul class="gnb_nav"> <!-- dth1_l dth_on --> <li class="dth1_l"><a href="#" class="dth1_a" data-ganame="showroom">Showroom</a> <div class="dth2_u dth_pip select-car-header parbase"> <div class="car_tab"> <a href="#" class="sort_a sort_on"><span class="cmm_tspr spr_sort">All Vehicles</span></a> <a href="#" class="sort_a"><span class="cmm_tspr spr_sort">Electric</span></a> <a href="#" class="sort_a"><span class="cmm_tspr spr_sort">Hybrid</span></a> </div> <div class="car_grid on"> <strong class="hidden">All Vehicles</strong> <ul class="grid_u"> <li class="grid_l new_car"> <a href="/sg/showroom/sorento-hybrid.html" class="grid_box "> <span class="g_img"><img src="/content/dam/kwcms/gt/en/images/showroom/Sorento-MQ4-PE-24my/Kia-sorento-24my.png" alt="msg_vehicle_sorento-hybrid"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/gt/en/images/showroom/Sorento-MQ4-PE-24my/Kia-sorento-24my.png" alt="msg_vehicle_sorento-hybrid"> </span> <strong class="g_name">Sorento Hybrid</strong> </a> </li> <li class="grid_l new_car"> <a href="/sg/showroom/carnival-hybrid.html" class="grid_box "> <span class="g_img"><img src="/content/dam/kwcms/sg/en/images/showroom/carnival-hybrid/246x130_GNB.png" alt="msg_vehicle_carnival-hybrid"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/sg/en/images/showroom/carnival-hybrid/246x130_GNB.png" alt="msg_vehicle_carnival-hybrid"> </span> <strong class="g_name">Carnival Hybrid</strong> </a> </li> <li class="grid_l new_car"> <a href="/sg/showroom/ev9.html" class="grid_box "> <span class="g_img"><img src="/content/dam/kwcms/gt/en/images/showroom/EV9-MV-24my/kia-ev9-24my.png" alt="msg_vehicle_ev9"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/gt/en/images/showroom/EV9-MV-24my/kia-ev9-24my.png" alt="msg_vehicle_ev9"> </span> <strong class="g_name">EV9</strong> </a> </li> <li class="grid_l "> <a href="/sg/showroom/niro-sg2-2023.html" class="grid_box "> <span class="g_img"><img src="/content/dam/kwcms/gt/en/images/showroom/Niro-SG2-23MY/kia-sg2-23my.png" alt="msg_vehicle_niro-sg2-2023"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/gt/en/images/showroom/Niro-SG2-23MY/kia-sg2-23my.png" alt="msg_vehicle_niro-sg2-2023"> </span> <strong class="g_name">Niro Hybrid</strong> </a> </li> <li class="grid_l "> <a href="/sg/showroom/niro-ev.html" class="grid_box "> <span class="g_img"><img src="/content/dam/kwcms/tr/tr/images/showroom/niro-ev/niro-ev-thumbnail.png" alt="msg_vehicle_niro-ev"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/tr/tr/images/showroom/niro-ev/niro-ev-thumbnail.png" alt="msg_vehicle_niro-ev"> </span> <strong class="g_name">Niro EV</strong> </a> </li> </ul> </div> <div class="car_grid"> <strong class="hidden">Electric</strong> <ul class="grid_u"> <li class="grid_l new_car"> <a href="/sg/showroom/ev9.html" class="grid_box"> <span class="g_img"><img src="/content/dam/kwcms/gt/en/images/showroom/EV9-MV-24my/kia-ev9-24my.png" alt="msg_vehicle_ev9"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/gt/en/images/showroom/EV9-MV-24my/kia-ev9-24my.png" alt="msg_vehicle_ev9"> </span> <strong class="g_name">EV9</strong> </a> </li> <li class="grid_l "> <a href="/sg/showroom/niro-ev.html" class="grid_box"> <span class="g_img"><img src="/content/dam/kwcms/tr/tr/images/showroom/niro-ev/niro-ev-thumbnail.png" alt="msg_vehicle_niro-ev"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/tr/tr/images/showroom/niro-ev/niro-ev-thumbnail.png" alt="msg_vehicle_niro-ev"> </span> <strong class="g_name">Niro EV</strong> </a> </li> </ul> </div> <div class="car_grid"> <strong class="hidden">Hybrid</strong> <ul class="grid_u"> <li class="grid_l new_car"> <a href="/sg/showroom/sorento-hybrid.html" class="grid_box"> <span class="g_img"><img src="/content/dam/kwcms/gt/en/images/showroom/Sorento-MQ4-PE-24my/Kia-sorento-24my.png" alt="msg_vehicle_sorento-hybrid"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/gt/en/images/showroom/Sorento-MQ4-PE-24my/Kia-sorento-24my.png" alt="msg_vehicle_sorento-hybrid"> </span> <strong class="g_name">Sorento Hybrid</strong> </a> </li> <li class="grid_l new_car"> <a href="/sg/showroom/carnival-hybrid.html" class="grid_box"> <span class="g_img"><img src="/content/dam/kwcms/sg/en/images/showroom/carnival-hybrid/246x130_GNB.png" alt="msg_vehicle_carnival-hybrid"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/sg/en/images/showroom/carnival-hybrid/246x130_GNB.png" alt="msg_vehicle_carnival-hybrid"> </span> <strong class="g_name">Carnival Hybrid</strong> </a> </li> <li class="grid_l "> <a href="/sg/showroom/niro-sg2-2023.html" class="grid_box"> <span class="g_img"><img src="/content/dam/kwcms/gt/en/images/showroom/Niro-SG2-23MY/kia-sg2-23my.png" alt="msg_vehicle_niro-sg2-2023"></span> <span class="g_txt g_nonetxt" > <img src="/content/dam/kwcms/gt/en/images/showroom/Niro-SG2-23MY/kia-sg2-23my.png" alt="msg_vehicle_niro-sg2-2023"> </span> <strong class="g_name">Niro Hybrid</strong> </a> </li> </ul> </div> <!--20170913 Navigation bar 생성 Start--> <div class="new_cars_type"> <ul> <li> <a href="/sg/showroom/ev.html" class="bl_type_a">Electric</a> </li> <li> <a href="/sg/showroom/hybrid.html" class="bl_type_a">Hybrid</a> </li> </ul> </div> <!--20170913 Navigation bar 생성 End--> </div> </li> <li class="dth1_l"><a href="#" class="dth1_a" data-ganame="shopping-tools">Shopping Tools</a> <ul class="dth2_u"> <!-- 2021.01.20 --> <li class="dth2_l"><a href="/sg/shopping-tools/find-a-dealer.html" class="dth2_a" data-ganame="find-a-dealer">Find a Dealer</a></li> <li class="dth2_l"><a href="/sg/shopping-tools/request-a-quote.html" class="dth2_a" data-ganame="request-a-quote">Request a Quote</a></li> <li class="dth2_l"><a href="/sg/shopping-tools/request-a-test-drive.html" class="dth2_a" data-ganame="request-a-test-drive">Request a Test Drive</a></li> <li class="dth2_l"><a href="/sg/shopping-tools/request-a-brochure.html" class="dth2_a" data-ganame="request-a-brochure">Request a Brochure</a></li> <li class="dth2_l"><a href="/sg/shopping-tools/request-a-pricelist.html" class="dth2_a" data-ganame="request-a-pricelist">Request a Pricelist</a></li> <li class="dth2_l"><a href="/sg/shopping-tools/motor-insurance.html" class="dth2_a" data-ganame="motor-insurance">Motor Insurance</a></li> <li class="dth2_l"><a href="/sg/shopping-tools/pre-owned-cars.html" class="dth2_a" data-ganame="pre-owned-cars">Pre-owned Cars</a></li> </ul> </li> <li class="dth1_l"><a href="#" class="dth1_a" data-ganame="owners">Owners</a> <ul class="dth2_u"> <!-- 2021.01.20 --> <li class="dth2_l"><a href="/sg/owners/kia-service.html" class="dth2_a" data-ganame="kia-service">Kia Service</a></li> <li class="dth2_l"><a href="/sg/owners/book-a-service.html" class="dth2_a" data-ganame="book-a-service">Book a Service</a></li> <li class="dth2_l"><a href="/sg/owners/service-offers.html" class="dth2_a" data-ganame="service-offers">Service Offers</a></li> <li class="dth2_l"><a href="/sg/owners/parts-accessories.html" class="dth2_a" data-ganame="parts-accessories">Parts & Accessories</a></li> <li class="dth2_l"><a href="/sg/owners/warranty-recalls.html" class="dth2_a" data-ganame="warranty-recalls">Warranty & Recalls</a></li> <li class="dth2_l"><a href="/sg/owners/roadside-assistance.html" class="dth2_a" data-ganame="roadside-assistance">Roadside Assistance</a></li> <li class="dth2_l"><a href="/sg/owners/owner-resources.html" class="dth2_a" data-ganame="owner-resources">Owner Resources</a></li> <li class="dth2_l"><a href="/sg/owners/connectivity.html" class="dth2_a" data-ganame="connectivity">Connectivity</a></li> <li class="dth2_l"><a href="/sg/owners/ev-experience.html" class="dth2_a" data-ganame="ev-experience">EV Experience</a></li> </ul> </li> </ul> <!-- new wsg 우측 GNB 메뉴 --> <ul class="gnb_nav gnb_right"> <li class="dth1_l"><a href="#" class="dth1_a" data-ganame="discover-kia">Discover Kia</a> <ul class="dth2_u"> <li class="dth2_l"><a href="/sg/discover-kia/our-movement.html" class="dth2_a" data-ganame="discover-kia">Our Movement</a></li> <li class="dth2_l"><a href="/sg/discover-kia/pbv.html" class="dth2_a" data-ganame="discover-kia">PBV</a></li> <li class="dth2_l"><a href="/sg/discover-kia/sponsorship.html" class="dth2_a" data-ganame="discover-kia">Sponsorship</a></li> <li class="dth2_l"><a href="/sg/discover-kia/brand-campaign.html" class="dth2_a" data-ganame="discover-kia">Brand Campaign</a></li> <li class="dth2_l"><a href="/sg/discover-kia/sustainability.html" class="dth2_a" data-ganame="discover-kia">Sustainability</a></li> <li class="dth2_l"><a href="/sg/discover-kia/ev-day.html" class="dth2_a" data-ganame="discover-kia">EV Day</a></li> <li class="dth2_l"><a href="/sg/discover-kia/ao2024.html" class="dth2_a" data-ganame="discover-kia">AO 2024</a></li> </ul> </li> </ul> <!--// new wsg 우측 GNB 메뉴 --> <!-- e : 2018.01.15 스크립트 추가 --></div> <!-- GNB menu E --> <!-- new wsg util S --> <div class="util_area"> <ul class="util_menu"> <li class="util_l"><a href="/sg/util/local-company.html" class="util_a" target="_self" data-ganame="local-company">Local Company</a></li> <li class="util_l"><a href="/sg/util/news.html" class="util_a" target="_self" data-ganame="news">News</a></li> <li class="util_l"><a href="/sg/util/promotion.html" class="util_a" target="_self" data-ganame="promotion">Promotion</a></li> <li class="util_l"><a href="/sg/util/customer-center/contact-us.html" class="util_a" target="_self" data-ganame="contact-us">Contact Us</a></li> <li class="util_l"><a href="/sg/util/customer-center/privacy-policy.html" class="util_a" target="_self" data-ganame="privacy-policy">Privacy Policy</a></li> </ul> <!-- 커스텀 메뉴 없을경우 country selector 노출 20210302 --> <div class="util_light_link"> <a href="/sg/util/kia-global.html" class="util_a" data-ganame="country_selector">Country Selector</a> </div> <!-- new wsg find dealer S --> <div class="util_find_dealer"> <a href="/sg/shopping-tools/find-a-dealer.html" data-ganame="find_a_dealer">Find a dealer</a> </div> <!-- new wsg find dealer E --> <div class="util_search"> <!-- new wsg search S --> <div class="u_sch_button"> <a href="#" class="sch_act_btn"> <span class="ico_txt">Search</span> </a> </div> <!--// new wsg search E --> <div class="u_sch_box"> <form action="/sg/util/search.html" method="get"> <input type="text" name="q" id="txtTopSearch" class="sch_inp" title="Search Keyword" placeholder="Search"> <button type="submit" class="sch_btn" title="Search" onclick="$GT.topSearch();"><span class="cmm_spr spr_search">Search</span></button> </form> </div> </div></div> <!-- new wsg util E --> <!-- new wsg util build S--> <div class="menu_build gnb-build" style="min-width:100px;"> <div class="go_build"><!-- #50692 --> </div> </div> <!-- new wsg util build E --> <!-- GT SEO 20150827 h2 > div --> <div class="hidden">Util Menu</div> </div> <!-- //GNB --> <!--모바일 검색창 2018.06.11 추가 --> <div class="m_sch_area"> <a href="#url" class="open_search"><span class="blind">open search</span></a> <div class="search_area"> <form action="/sg/util/search.html" method="get"> <input type="text" name="q" id="m_sch_box" class="search_txt" title="Search Keyword" placeholder="Search"> <button type="submit" class="search_btn" title="Search button"><span class="blind">Search</span></button> </form> </div> <a href="#url" class="close_search"><span class="blind">close search</span></a> </div> <!-- wsg tablet mobile header S --> <script> (function() { $(document).ready(function() { $('.open_search').on('click', function() { $(this).addClass('on'); $(this).next('.search_area').slideDown(200); setTimeout(function() { $('.close_search').css('display', 'block'); }, 200); }); $('.close_search').on('click', function() { $('.open_search').removeClass('on'); $(this).css('display', 'none'); $(this).prev('.search_area').slideUp(200); }); }); })(); </script> <!-- wsg tablet mobile header E --> <!--//모바일 검색창 2018.06.11 추가 --> <script type="text/javascript"> (function($) { $(".sch_inp").keydown(function(evt) { if (evt.keyCode == 13){ //2018.05.14 enter search - kdh submit(); } }); window.$GT = $.extend(window.$GT || {}, { topSearch: function(q, obj) { if (!obj) { obj = $("#txtTopSearch"); } else { if (typeof(obj) === "string") { obj = $("#" + obj); } else { obj = $(obj); } } if (!q) { q = obj.val(); if (!q || q == "") { q = obj.text(); } } location.href = "/sg/util/search.html?" + $.param({ q: q }); } }); })(jQuery); </script></div> </div> <!-- Global site tag (gtag.js) - Google Ads: 1014625296 2019.01.14 YKJ--> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-1014625296"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-1014625296'); </script> <!-- Google Tag Manager (noscript) 20171102 YKJ--> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NVBF8X9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="container" ng-app="kwcmsAppModuleApp" ng-cloak> <div id="content" class="subContents"> <div class="par parsys"><div class="global-title parbase section"> <div class="content_title"> <!-- 20150827 GT SEO h3 > h1 --> <h1 class="con_tit"><p>Find a Dealer</p> </h1> <div class="con_navi"> <ol vocab="http://schema.org/" typeof="BreadcrumbList"> <li property="itemListElement" typeof="ListItem" style="display:inline"> <a href="/sg/main.html" property="item" typeof="WebPage"><span class="cmm_spr spr_home" property="name">Home</span><span class="gt">&gt;</span></a> <meta property="position" content= 1> </li> <li property="itemListElement" typeof="ListItem" style="display:inline"> <a href="/sg/shopping-tools.html" property="item" typeof="WebPage"><span class="depth" property="name">shopping tools</span><span class="gt">&gt;</span></a> <meta property="position" content= 2> </li> <li property="itemListElement" typeof="ListItem" style="display:inline"> <strong class="depth current"property="name">Find a Dealer</strong> <meta property="position" content= 3> </li> </ol> </div> </div></div> <div class="find-a-dealer section"> <script type="text/javascript"> var _find_dealer_search_ = null; var _find_dealer_list_view_ = null; var _find_dealer_map_view_ = null; kwcmsApp.controller("findadealer.search", function($scope, HttpService) { //reference_controller_scope _find_dealer_search_ = $scope; //current view selector $scope.searchTab = "all"; $scope.currentTab = ""; //checked category values $scope.checkedValue = []; //default search parameters. $scope.paramVO = { "pageNum" : 1 , "pageSize" : 5 , "pageCnt" : 5 , "sc.delYn" : "N" , "sc.displayYn" : "Y" , "sc.searchType" : "dealer_addr_zipcode" , "sortKey" : "order" , "sortType" : "A" , "sc.searchKey" : "" }; //initialize $scope.init = function () { $scope.currentTab = "list"; //call service categories commonCodeLib.init2("FD02SC", "kia_singapore","sg","en"); $scope.categories = commonCodeLib.comCdList; $scope.getUserLocation(); }; $scope.getUserLocation = function(){ if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { const latitude = position.coords.latitude; // 위도 const longitude = position.coords.longitude; // 경도 $scope.paramVO["sc.distanceType"] = "K"; $scope.paramVO["sortKey"] = "distance"; $scope.paramVO["sc.lat"] = latitude; $scope.paramVO["sc.lng"] = longitude; $scope.search(); }, function(error) { $scope.paramVO["sc.distanceType"] = "K"; $scope.paramVO["sortKey"] = "distance"; $scope.paramVO["sc.lat"] = 1.2916746442251419; $scope.paramVO["sc.lng"] = 103.81330004100354; $scope.search(); }); } }; //change tab $scope.viewTab = function (tabName) { $scope.currentTab = tabName; _find_dealer_list_view_.currentTab = tabName; _find_dealer_map_view_.currentTab = tabName; if( tabName == "map") { _find_dealer_map_view_.dataLayerPush(_find_dealer_map_view_.allList[0]); } }; //search method $scope.search = function (pageNum, isAll) { if (pageNum != undefined) { $scope.paramVO["pageNum"] = pageNum; } else { $scope.paramVO["pageNum"] = 1; } if (!angular.equals($scope.searchKey, "") && !angular.equals($scope.searchKey, undefined)) { $scope.paramVO["sc.searchKey"] = $scope.searchKey; $scope.paramVO["sortKey"] = "order"; } else { $scope.paramVO["sc.searchKey"] = ""; } var paramVO = $scope.paramVO; var apiURI = "selectFindDealerByServiceList"; if (isAll != undefined && isAll == true) { paramVO = { "sc.delYn" : "N" , "sc.displayYn" : "Y" , "isAll" : isAll }; apiURI = "selectFindDealerAllList"; } var params = { method : "GET" , params : paramVO , url : "/api/kia_singapore/base/fd01/findDealer." + apiURI }; HttpService.http(params, $scope.searchCallback, paramVO); }; //search callback $scope.searchCallback = function (data, params) { if (params.isAll == true) { _find_dealer_map_view_.allInit(data, params); } else { _find_dealer_list_view_.init(data, params); _find_dealer_map_view_.init(data, params); } dtmDataLayer = null; if(data != "" && data != null){ if(data.dataInfo.length>0){ dtmDataLayer = { 'dealer_search_term': $scope.searchKey }; }else{ dtmDataLayer = { 'no_result_dealer': $scope.searchKey }; } }else{ dtmDataLayer = { 'no_result_dealer': $scope.searchKey }; } _satellite.track('internal_search'); }; //click category checkbox search $scope.checkboxSearch = function (code) { var idx = $scope.checkedValue.indexOf(code); var cvLen = $scope.checkedValue.length; if (idx > -1) { // is currently selected $scope.checkedValue.splice(idx, 1); } else { // is newly selected //#66689 $scope.checkedValue = []; $scope.checkedValue.push(code); } //to make condition for search //initailize if (cvLen > 0) { for (var i = 0 ; i < cvLen ; i++) { delete $scope.paramVO["sc.searchServiceCd[" + i + "]"]; } } //make cvLen = $scope.checkedValue.length; if (cvLen > 0) { for (i = 0 ; i < cvLen ; i++) { $scope.paramVO["sc.searchServiceCd[" + i + "]"] = $scope.checkedValue[i]; } } $scope.search(); }; //first. check input a keyword, two. search $scope.checkKeyword = function() { if (angular.equals($scope.searchKey, "") || angular.equals($scope.searchKey, undefined)) { alert('Please input a keyword.'); } else { $scope.search(); } }; // #64732 $(window).on("load",function() { var urlParam = new URL(location.href).searchParams; var serviceCate = urlParam.get('category'); for(i=0; i<$scope.categories.length; i++){ if(serviceCate == $scope.categories[i].text){ var code = $scope.categories[i].code; console.log($scope.categories[i].code); $("."+code).click(); $scope.checkboxSearch(code); } }; //$scope.checkboxSearch("FD02SC02"); }); }); // 검색창 엔터키 이벤트 바인딩 추가 2018.05.14 kwcmsApp.directive('ngEnter', function() { return function(scope, element, attrs) { element.bind("keydown keypress", function(event) { if(event.which === 13) { event.preventDefault(); element.scope().checkKeyword(); } }); } }); </script> <div class="content_detail"> <div class="inner find_dealer"> <div class="findSearch findDealer" ng-controller="findadealer.search" ng-init="init()"> <strong class="schTit">Search</strong> <div class="schCon"> <div class="tab_type3 schTab"> <a href="#" class="input_box"><span>{{searchTab == 'all' ? 'Find a dealer' : 'Closest Dealers Within'}}</span></a> <ul> <li><a href="find-a-dealer.all.html" ng-class="{tab_on : searchTab == 'all'}"><span>Find a dealer</span></a></li> </ul> </div> <div class="formArea"> <h4 class="hidden">Find a dealer</h4> <div class="formInput"> <input type="text" placeholder="Enter Postal Code number" class="sch_inp" title="Enter Postal Code number" ng-model="searchKey" ng-enter="doSomeThing()" > </div> </div> <div class="searchOption"> <span class="formCheck" ng-repeat="cate in categories | orderBy:'sortNo'"> <input type="checkbox" id="sample{{$index + 1}}" class="{{cate.code}}"> <label for="sample{{$index + 1}}" class="check_box {{cate.extra2}}" ng-click="checkboxSearch(cate.code)" value="{{cate.code}}" ng-bind-html="cate.text | sanitize"></label> </span> </div> </div><!-- // schCon --> <div class="btnArea"><button type="button" class="btnMedium btnType1" ng-click="checkKeyword()"><span class="btnIcon arrow_r">Search</span></button></div> </div><!-- // findSearch --> <script type="text/javascript"> kwcmsApp.controller("findadealer.list", function($scope, pagination) { //reference_controller_scope _find_dealer_list_view_ = $scope; //current view selector $scope.searchTab = _find_dealer_search_.searchTab; $scope.currentTab = _find_dealer_search_.currentTab; //initailize list view $scope.init = function (data, params) { if (angular.equals(data.result, "Success")) { $scope.list = data.dataInfo; $scope.total = data.totalCount; $scope.firstNum = $scope.total - ((params.pageNum - 1) * params.pageSize); pagination.paginationCreate($scope.total, params.pageNum, params.pageSize, params.pageCnt, $scope.search); } else { alert('Sorry. A system error has occurred.'); } }; //phone 2018.05.09 추가 https://wrms.kia.com/cb/issue/38544 $scope.fnGoPhone = function (phone) { var tel = ""; if(phone != null){ if(phone.indexOf("/") != -1) { var strArray= phone.split("/"); if(strArray[0] != null){ tel = strArray[0]; } }else { tel = phone; } } if(matchMedia("screen and (max-width: 767px)").matches){location.href = "tel:" + tel;}; }; //search $scope.search = function (pageNum) { _find_dealer_search_.search(pageNum); }; //change tab $scope.viewTab = function (tab) { _find_dealer_search_.viewTab(tab); }; //make address html $scope.getAddrStr = function(item){ var str = " "; if(item.phone != null){ str += "Phone : " + item.phone; } if(item.fax != null){ if(str != " "){ str += "<br>"; } str += "Fax : " + item.fax; } /* if(item.url != null){ if(str != "- "){ str += " / "; } str += '<a href="' + item.url + '" target="_blank">' + item.url + '</a>'; } */ if(item.zipcode != null && item.zipcode != ""){ str = item.addr + ', ' + item.zipcode + "<br>" + str; } else{ str = item.addr + "<br>" + str; } return str; }; $scope.clickLink = function(url, title, dealerNm ) { // find a dealer 또는 service center > dealer 이름 옆에 링크 클릭 시 window.dataLayer = window.dataLayer ||[]; window.dataLayer.push({ 'event': 'find_a_dealer', 'event_category': 'find a dealer', 'event_action': title, //'request a testdrive', 'event_label': dealerNm, // eg: 'abdo kfoury' 'dealer_name': dealerNm, }); //console.log(window.dataLayer[window.dataLayer.length-1]); location.href = url; }; }); </script> <div class="con_box location_result" ng-controller="findadealer.list" ng-show="currentTab == 'list'"> <div class="location_text"> <h5 class="result_txt"><span class="m_none">SEARCH RESULT : </span><strong>{{total}}</strong> Locations Found</h5> <div class="tab_type1"> <a href="#list" class="tab_link tt1_on" ng-click="viewTab('list')">List View</a> <a href="#map" class="tab_link" ng-click="viewTab('map')">Map View</a> </div> </div> <div class="location_listview"> <h6 class="hidden">List View</h6> <table class="table_type3 location_table"> <caption>SEARCH RESULT</caption> <!-- 2020.06.19 #47692 --> <colgroup> <col style="width:17%"> <col style="width:*"> <col style="width:30%"> <col style="width:15%;text-align:center"> <col style="width:20%"> </colgroup> <!-- 2020.06.19 #47692 --> <thead> <tr> <th scope="col">Locaion</th> <th scope="col">Address / Phone</th> <th scope="col">Operating Hours</th> <th scope="col">Service Category</th> <th scope="col">Service Tool</th> </tr> </thead> <tbody> <tr ng-repeat="item in list" ng-show="total > 0"> <th>{{item.dealerNm}}</th> <td class="tleft"><div ng-bind-html="getAddrStr(item) | sanitize"></div><a ng-href="{{item.url.indexOf('http') == -1 ? ('http://' + item.url) : item.url}}" target="_blank">{{item.url}}</a></td> <!--#47692 openHours에 sanitize 제거 -2020.06.19 --> <td class="tleft" ng-bind-html="item.openHours "></td> <td> <div class="offerList"> <span ng-repeat="ds in item.dsList" class="map_spr {{ds.extra1}}">{{ds.text}}</span> </div> </td> <td class="tleft"> <a href="javascript:;" ng-click="clickLink(item.link1,item.linkNm1, item.dealerNm)" ng-show="item.link1 != null" class="bl_type_a" title="{{item.linkNm1}}">{{item.linkNm1}}</a> <a href="javascript:;" ng-click="clickLink(item.link2,item.linkNm2, item.dealerNm)" ng-show="item.link2 != null" class="bl_type_a" title="{{item.linkNm2}}">{{item.linkNm2}}</a> </td> </tr> <tr ng-show="total == 0"> <td colspan="5" class="nodata"><span>NO RESULT FOUND FOR YOUR QUERY</span></td> </tr> </tbody> </table> <ul class="location_list"> <li class="loc_l" ng-repeat="item in list" ng-show="total > 0"> <strong class="locTit">{{item.dealerNm}}</strong> <div class="locInfo"> <p class="addr" ng-hide="!item.addr">{{item.addr}}</p> <ul class="info"> <li ng-hide="!item.phone"><strong>Phone</strong> : <a ng-click="fnGoPhone(item.phone)">{{item.phone}}</a></li> <li class="hours" ng-bind-html="'<strong>Operating Hours</strong>{{item.openHours}}' | sanitize"></li> <li ng-hide="!item.url"><strong>URL</strong> : <a ng-href="{{item.url}}" target="_blank">{{item.url}}</a></li> </ul> <div class="offerList"> <span ng-repeat="ds in item.dsList" class="map_spr {{ds.extra1}}">{{ds.text}}</span> </div> <div class="btn_area"> <a href="javascript:;" ng-click="clickLink(item.link1,item.linkNm1, item.dealerNm)" ng-show="item.link1 != null" class="bl_type_a" title="{{item.linkNm1}}">{{item.linkNm1}}</a> <a href="javascript:;" ng-click="clickLink(item.link2,item.linkNm2, item.dealerNm)" ng-show="item.link2 != null" class="bl_type_a" title="{{item.linkNm2}}">{{item.linkNm2}}</a> </div> </div> </li> <li class="nodata" ng-show="total == 0"><span>NO RESULT FOUND FOR YOUR QUERY</span></li> </ul> <div class="pg_num_area" ng-show="total > 0"> <script type="text/javascript"> kwcmsApp.factory('pagination',[function(){ var paginationObj = { pageNum : "", prePageNum : "", nextPageNum: "", totalPageNum: "", nextGroupStartPage : "", range : "", movePage:function(){}, }; return { paginationCreate : function(tCnt,pNum,row,pager,fnc){ var rowPerPage = row; /** 보여질 row 갯수 */ var pagerSize = pager; /** 하단 pagerSize */ var totalPager = parseInt((tCnt-1)/rowPerPage+1); paginationObj.movePage = fnc; /***************************** * 현재 pageNum validate ******************************/ if(!pNum) pNum = 1; if(pNum<1) pNum = 1; if(pNum>totalPager) pNum = totalPager; paginationObj.pageNum = pNum; paginationObj.totalPager = totalPager; paginationObj.prePageNum = paginationObj.pageNum-1 <1 ? "1" : paginationObj.pageNum-1; paginationObj.nextPageNum = paginationObj.pageNum+1 >totalPager ? totalPager : paginationObj.pageNum+1; /***************************** * pagination * 표시될 pager 갯수 정의 ******************************/ pagerBlock = parseInt((paginationObj.pageNum-1)/pagerSize); pagerStartNum= parseInt(pagerBlock*pagerSize)+1; pagerEndNum = pagerStartNum+(pagerSize-1); if(pagerEndNum > totalPager) pagerEndNum = totalPager; var range = []; for(var i=pagerStartNum;i<=pagerEndNum;i++) { range.push(i); } paginationObj.range = range; paginationObj.prePageNum = (Math.ceil(paginationObj.pageNum/pager)-1)*pager; paginationObj.nextPageNum = pagerStartNum+pager >totalPager ? totalPager : pagerStartNum+pager; paginationObj.nextGroupStartPage = (Math.ceil(pNum/pagerSize) * pagerSize) +1; }, paginationData: function(){ return paginationObj; } }; }]); kwcmsApp.controller('kwcmsPagingCtl',['$scope','pagination',function($scope, pagination){ $scope.paginationObj = pagination.paginationData(); /* * $scope.paginationObj.movePage 함수는 $scope.paginationObj원형 그대로 사용 * alert($scope.paginationObj); */ }]); </script> <div ng-controller="kwcmsPagingCtl"> <a href="#" onclick="return false;" class="pg_arrow pg_prev" ng-click="paginationObj.movePage(paginationObj.prePageNum)" ng-show="paginationObj.prePageNum > 1">이전페이지</a> <a href="#" onclick="return false;" class="{{pageNumList == paginationObj.pageNum ? 'pg_num pg_num_on':'pg_num'}}" title="{{pageNumList == paginationObj.pageNum ? '현재페이지':''}}" ng-repeat="pageNumList in paginationObj.range" ng-click="paginationObj.movePage(pageNumList)">{{pageNumList}}</a> <a href="#" onclick="return false;" class="pg_arrow pg_next" ng-click="paginationObj.movePage(paginationObj.nextPageNum)" ng-show="paginationObj.nextGroupStartPage <= paginationObj.totalPager">다음페이지</a> </div> </div> </div> </div> <script type="text/javascript"> var objPoint = {}; kwcmsApp.controller("findadealer.map", function($scope, $timeout, pagination) { //reference_controller_scope _find_dealer_map_view_ = $scope; //map area id $scope.mapWrap = "mapArea"; //current view selector $scope.searchTab = _find_dealer_search_.searchTab; $scope.currentTab = _find_dealer_search_.currentTab; //exist all list? $scope.isCallAllList = false; //initailize list view $scope.init = function (data, params) { if (angular.equals(data.result, "Success")) { //get all list without search conditions if ($scope.isCallAllList == false) { _find_dealer_search_.search(1, true); $scope.isCallAllList = true; } $scope.list = data.dataInfo; $scope.total = data.totalCount; $scope.firstNum = $scope.total - ((params.pageNum - 1) * params.pageSize); //pagination pagination.paginationCreate($scope.total, params.pageNum, params.pageSize, params.pageCnt, $scope.search); //init map $scope.initMap($scope.list, $scope.mapWrap, 0); } else { alert('Sorry. A system error has occurred.'); } }; //initailize all list $scope.allInit = function (data, params) { $scope.allList = data.dataInfo; objPoint.pointAll = []; //init map angular.element($scope.allList).each(function(idx){ var layerDOM = '<div class="dealer_layer">'; layerDOM += ' <div class="dealer_info">'; layerDOM += ' <strong class="name">' + this.dealerNm + '</strong>'; layerDOM += ' <ul class="info">'; layerDOM += ' <li class="address">' + this.addr + '</li>'; layerDOM += ' <li class="tel">Phone : ' + this.phone + '</li>'; layerDOM += ' <li class="offer">'; layerDOM += ' </li>'; layerDOM += ' </ul>'; layerDOM += ' <div class="move">'; if(this.link1) layerDOM += ' <a href="javascript:clickLink(\'' + this.link1 + '\',\'' + this.linkNm1 + '\',\''+this.dealerNm+'\' )" class="bl_type_a">'+this.linkNm1+'</a>'; if(this.link2) layerDOM += ' <a href="javascript:clickLink(\'' + this.link2 + '\',\'' + this.linkNm2 + '\',\''+this.dealerNm+'\' )" class="bl_type_a">'+this.linkNm2+'</a>'; layerDOM += ' </div>'; layerDOM += ' </div>'; layerDOM += '</div>'; objPoint.pointAll[idx] = ({ "lat" : this.lat , "lng" : this.lng , "info": layerDOM }); }); }; //draw map $scope.initMap = function (mapInfoObj, areaId, selectIdx) { $scope.currBranch = selectIdx; if (objPoint) { objPoint.point =[]; if (mapInfoObj != "") { //dom for dealer layer angular.element(mapInfoObj).each(function(idx){ var layerDOM = '<div class="dealer_layer">'; layerDOM += ' <div class="dealer_info">'; layerDOM += ' <strong class="name">' + this.dealerNm + '</strong>'; layerDOM += ' <ul class="info">'; layerDOM += ' <li class="address">' + this.addr + '</li>'; layerDOM += ' <li class="tel">Phone : ' + this.phone + '</li>'; layerDOM += ' <li class="offer">'; layerDOM += ' </li>'; layerDOM += ' </ul>'; layerDOM += ' <div class="move">'; if(this.link1) layerDOM += ' <a href="javascript:clickLink(\'' + this.link1 + '\',\'' + this.linkNm1 + '\',\''+this.dealerNm+'\' )" class="bl_type_a">'+this.linkNm1+'</a>'; if(this.link2) layerDOM += ' <a href="javascript:clickLink(\'' + this.link2 + '\',\'' + this.linkNm2 + '\',\''+this.dealerNm+'\' )" class="bl_type_a">'+this.linkNm2+'</a>'; layerDOM += ' </div>'; layerDOM += ' </div>'; layerDOM += '</div>'; objPoint.point[idx] = ({ "lat" : this.lat , "lng" : this.lng , "info": layerDOM }); }); }else{ objPoint.point[0]=({ "lat" : centerLat , "lng" : centerLng , "info" : '' }); } initialize(selectIdx, areaId); } }; $scope.dataLayerPush = function (itm) { // #54979 window.dataLayer.push({ 'event': 'find_a_dealer', 'event_category': 'find a dealer', 'event_action': 'click a dealer', 'event_label': itm.dealerNm, // eg: 'abdo kfoury' 'dealer_name': itm.dealerNm, 'view_type': 'map', }); }; //phone 2018.05.09 추가 https://wrms.kia.com/cb/issue/38544 $scope.fnGoPhone = function (phone) { var tel = ""; if(phone != null){ if(phone.indexOf("/") != -1) { var strArray= phone.split("/"); if(strArray[0] != null){ tel = strArray[0]; } }else { tel = phone; } } if(matchMedia("screen and (max-width: 767px)").matches){location.href = "tel:" + tel;}; }; //search $scope.search = function (pageNum) { _find_dealer_search_.search(pageNum); }; //change tab $scope.viewTab = function (tab) { _find_dealer_search_.viewTab(tab); }; //$watch for map $scope.$watch(function() { if(angular.equals($scope.currentTab, "map")) { return true; } else { return false; } }, function(newvalue) { $timeout(function() { if($scope.list != undefined){ $scope.initMap($scope.list, $scope.mapWrap, 0); } }, 0); }); }); var clickLink = function(url, title, dealerNm ) { // find a dealer 또는 service center > dealer 이름 옆에 링크 클릭 시 window.dataLayer = window.dataLayer ||[]; window.dataLayer.push({ 'event': 'find_a_dealer', 'event_category': 'find a dealer', 'event_action': title, 'event_label': dealerNm, // eg: 'abdo kfoury' 'dealer_name': dealerNm, }); //console.log(window.dataLayer[window.dataLayer.length-1]); location.href = url; } </script> <div class="con_box location_result" ng-controller="findadealer.map" ng-show="currentTab == 'map'"> <div class="location_text"> <h5 class="result_txt"><span class="m_none">SEARCH RESULT : </span><strong>{{total}}</strong> Locations Found</h5> <div class="tab_type1"> <a href="#list" class="tab_link" ng-click="viewTab('list')">List View</a> <a href="#map" class="tab_link tt1_on" ng-click="viewTab('map')">Map View</a> </div> </div> <div class="location_mapview" ng-show="total > 0"> <h6 class="hidden">Map View</h6> <div class="mapInner"> <div class="mapArea" id="mapArea"> <div class="mapParsys parsys"><div class="google-map-list parbase section"> <!-- 2015.10.07 오지예대리님 요청으로 구글맵 스크립트 통일함. --> <script type="text/javascript" src="//maps.googleapis.com/maps/api/js?key=AIzaSyAtbOoZS_Cppi7CDt-UBduuz8SHj9TuLGk&language=en&region=KR&libraries=geometry,places"></script> <script type="text/javascript"> var centerLat = 23.61; var centerLng = 58.539999999999964; var myLocation; var myLocationLat; var myLocationLng; if (!navigator.geolocation){ console.log("사용자의 브라우저는 지오로케이션을 지원하지 않습니다.") //("사용자의 브라우저는 지오로케이션을 지원하지 않습니다.") }else{ navigator.geolocation.getCurrentPosition(successGeo, errorGeo); } function successGeo(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; console.log(latitude) console.log(longitude) //centerLat = latitude; //centerLng = longitude; myLocation = new google.maps.LatLng(latitude, longitude); myLocationLat = latitude; myLocationLng = longitude; /* $.each(objPoint.point, function(idx){ routeCalc(this.lat, this.lng, idx); }); */ }; function errorGeo() { console.log("사용자의 위치를 찾을 수 없습니다.") //("사용자의 위치를 찾을 수 없습니다."); }; var infoString = ""; var objPoint = { center : { lat: centerLat, lng: centerLng }, point : [ { lat:"", lng:"", info:"" } ] }; function initializeWithConfig(cfg){ if( cfg ) { initialize(cfg.infoIdx, cfg.areaId, cfg); } } function initialize(infoIdx, areaId, cfg){ cfg = cfg || {}; $("."+areaId).html(""); var map; objPoint.center.lat =objPoint.point[infoIdx].lat; objPoint.center.lng =objPoint.point[infoIdx].lng; var myCenter = new google.maps.LatLng(objPoint.center.lat, objPoint.center.lng); var mapProp = { center:myCenter ,zoom: cfg.zoom || 15 ,disableDefaultUI:true ,mapTypeId:google.maps.MapTypeId.ROADMAP /* 1. ROADMAP (normal, default 2D map) 2. SATELLITE (photographic map) 3. HYBRID (photographic map + roads and city names) 4. TERRAIN (map with mountains, rivers, etc.) */ ,mapTypeControl: true ,mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR ,position: google.maps.ControlPosition.TOP_RIGHT } }; map=new google.maps.Map(document.getElementById(areaId),mapProp); var defaultMarker; $.each(objPoint.point, function(idx){ //var image = '/content/dam/kia-korea/images/pip/img_pip_indicatorIcon_on.gif'; var marker=new google.maps.Marker({ position:new google.maps.LatLng(this.lat, this.lng) //,icon: image }); if(this.lat == objPoint.point[infoIdx].lat && this.lng== objPoint.point[infoIdx].lng ){ defaultMarker = marker; } google.maps.event.addListener(marker, 'click', function(){ infoWindow.close(); infoWindow = new google.maps.InfoWindow({ content: objPoint.point[idx].info }); infoWindow.open(map, marker); if(objPoint.location!=null) printClickEvent(); }); marker.setMap(map); }); var viewportWidth = $(window).width(); if(objPoint.point[infoIdx].info!=""){ var infoWindow = new google.maps.InfoWindow({ content: objPoint.point[infoIdx].info }); if(viewportWidth>767){ infoWindow.open(map, defaultMarker); if(objPoint.location!=null) printClickEvent(); } } /* if(myLocation){ $.each(objPoint.point, function(idx){ routeCalc(this.lat, this.lng, idx); }); } */ /* google.maps.event.addListener(map, 'click', function(event) { alert(event.latLng.lat()); alert(event.latLng.lng()); }); */ } var directionsService; function routeCalc(dLat, dLng, idx) { directionsService = null; directionsService = new google.maps.DirectionsService(); var request = { origin:myLocation ,destination:new google.maps.LatLng(dLat, dLng) ,travelMode: google.maps.TravelMode.TRANSIT /* 1. DRIVING 2. BICYCLING 3. TRANSIT 4. WALKING */ //,region: "ko" }; directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { $(".distance:eq("+idx+")").html(result.routes[0].legs[0].distance.text); } }); } var geocoder; function fnGetLatLng(pageNum, args, locString, isMylocation, tab){ var getLatLng = locString; var objLatLng = {"k":"", "D":""}; if(!isMylocation){ if(getLatLng!=""){ geocoder = new google.maps.Geocoder(); geocoder.geocode( { 'address': getLatLng}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { objLatLng = results[0].geometry.location; }else{ //("Geocode was not successful for the following reason: " + status) } if(tab == "M") angular.element("#page_M").scope().closestSelectList(pageNum, args, objLatLng, isMylocation); else angular.element("#page_L").scope().closestSelectList(pageNum, args, objLatLng, isMylocation); }); }else{ if(tab == "M") angular.element("#page_M").scope().closestSelectList(pageNum, args, objLatLng, isMylocation); else angular.element("#page_L").scope().closestSelectList(pageNum, args, objLatLng, isMylocation); } }else{ objLatLng = {"k":myLocationLat, "D":myLocationLng}; if(tab == "M") angular.element("#page_M").scope().closestSelectList(pageNum, args, objLatLng, isMylocation); else angular.element("#page_L").scope().closestSelectList(pageNum, args, objLatLng, isMylocation); } } </script></div> </div> </div> </div> <div class="center_list"> <div class="listInner"> <ul> <li ng-repeat="item in list"> <a href="javascript:;" class="dealer_a" ng-class="{center_on:currBranch == $index}" ng-click="dataLayerPush(item);initMap(list, mapWrap, $index);"> <div class="where"><span class="map_spr map_pin"></span></div> <dl class="info"> <dt>{{item.dealerNm}}</dt> <dd ng-hide="!item.addr">{{item.addr}}</dd> <dd ng-hide="!item.phone" ng-click="fnGoPhone(item.phone)">Phone : {{item.phone}}</dd> <dd ng-hide="!item.fax">Fax : {{item.fax}}</dd> </dl> </a> </li> </ul> </div> <div class="pg_num_area"> <script type="text/javascript"> kwcmsApp.factory('pagination',[function(){ var paginationObj = { pageNum : "", prePageNum : "", nextPageNum: "", totalPageNum: "", nextGroupStartPage : "", range : "", movePage:function(){}, }; return { paginationCreate : function(tCnt,pNum,row,pager,fnc){ var rowPerPage = row; /** 보여질 row 갯수 */ var pagerSize = pager; /** 하단 pagerSize */ var totalPager = parseInt((tCnt-1)/rowPerPage+1); paginationObj.movePage = fnc; /***************************** * 현재 pageNum validate ******************************/ if(!pNum) pNum = 1; if(pNum<1) pNum = 1; if(pNum>totalPager) pNum = totalPager; paginationObj.pageNum = pNum; paginationObj.totalPager = totalPager; paginationObj.prePageNum = paginationObj.pageNum-1 <1 ? "1" : paginationObj.pageNum-1; paginationObj.nextPageNum = paginationObj.pageNum+1 >totalPager ? totalPager : paginationObj.pageNum+1; /***************************** * pagination * 표시될 pager 갯수 정의 ******************************/ pagerBlock = parseInt((paginationObj.pageNum-1)/pagerSize); pagerStartNum= parseInt(pagerBlock*pagerSize)+1; pagerEndNum = pagerStartNum+(pagerSize-1); if(pagerEndNum > totalPager) pagerEndNum = totalPager; var range = []; for(var i=pagerStartNum;i<=pagerEndNum;i++) { range.push(i); } paginationObj.range = range; paginationObj.prePageNum = (Math.ceil(paginationObj.pageNum/pager)-1)*pager; paginationObj.nextPageNum = pagerStartNum+pager >totalPager ? totalPager : pagerStartNum+pager; paginationObj.nextGroupStartPage = (Math.ceil(pNum/pagerSize) * pagerSize) +1; }, paginationData: function(){ return paginationObj; } }; }]); kwcmsApp.controller('kwcmsPagingCtl',['$scope','pagination',function($scope, pagination){ $scope.paginationObj = pagination.paginationData(); /* * $scope.paginationObj.movePage 함수는 $scope.paginationObj원형 그대로 사용 * alert($scope.paginationObj); */ }]); </script> <div ng-controller="kwcmsPagingCtl"> <a href="#" onclick="return false;" class="pg_arrow pg_prev" ng-click="paginationObj.movePage(paginationObj.prePageNum)" ng-show="paginationObj.prePageNum > 1">이전페이지</a> <a href="#" onclick="return false;" class="{{pageNumList == paginationObj.pageNum ? 'pg_num pg_num_on':'pg_num'}}" title="{{pageNumList == paginationObj.pageNum ? '현재페이지':''}}" ng-repeat="pageNumList in paginationObj.range" ng-click="paginationObj.movePage(pageNumList)">{{pageNumList}}</a> <a href="#" onclick="return false;" class="pg_arrow pg_next" ng-click="paginationObj.movePage(paginationObj.nextPageNum)" ng-show="paginationObj.nextGroupStartPage <= paginationObj.totalPager">다음페이지</a> </div> </div> </div> </div> </div> </div> </div> <!--start 2016.01.12 ws.kim --> <!-- Facebook Conversion Code for JF_SINGAPORE_RESPONSIVE_FIND DEALER --> <script>(function() { var _fbq = window._fbq || (window._fbq = []); if (!_fbq.loaded) { var fbds = document.createElement('script'); fbds.async = true; fbds.src = '//connect.facebook.net/en_US/fbds.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(fbds, s); _fbq.loaded = true; } })(); window._fbq = window._fbq || []; window._fbq.push(['track', '6045084197020', {'value':'0.00','currency':'USD'}]); </script> <noscript><img height="1" width="1" alt="" style="display:none" src="https://www.facebook.com/tr?ev=6045084197020&amp;cd[value]=0.00&amp;cd[currency]=USD&amp;noscript=1"/></noscript> <!--end 2016.01.12 ws.kim --> <!-- Lightning Bolt Begins 20160329 --> <script type="text/javascript"> var lbTrans = '[TRANSACTION ID]'; var lbValue = '[TRANSACTION VALUE]'; var lbData = '[Attribute/Value Pairs for Custom Data]'; var lb_rn = new String(Math.random()); var lb_rns = lb_rn.substring(2, 12); var boltProtocol = ('https:' == document.location.protocol) ? 'https://' : 'http://'; try { var newScript = document.createElement('script'); var scriptElement = document.getElementsByTagName('script')[0]; newScript.type = 'text/javascript'; newScript.id = 'lightning_bolt_' + lb_rns; newScript.src = boltProtocol + 'cdn-akamai.mookie1.com/LB/LightningBolt.js'; scriptElement.parentNode.insertBefore(newScript, scriptElement); scriptElement = null; newScript = null; } catch (e) { } </script> <!-- Lightning Bolt Ends --> </div> </div> </div> </div> <div id="footer"> <div class="site_info"> <!-- --> <!-- new wsg 디자인변경 S --> <div class="f_navi"> <div class="inner"> <div class="foot_content"> <div class="foot_left"> <!-- 2024.03.05 #64946 푸터 로고 이동 --> <div class="foot_logo"> <span class="logo"><img src="/content/dam/kwcms/gt/en/images/main/new/new-kia-logo-white.png" alt="logo"></span> <!-- 2021.01.14 로고이미지 변경 --> </div> <!--// 2024.03.05 #64946 푸터 로고 이동 --> <!-- 2024.03.05 #64946 푸터 메뉴 삭제 수정 <ul class="fot_menu"> <!-- <li> <a href="/content/kwcms/sg/en/shopping-tools.html" data-ganame="Shopping Tools"><span>Shopping Tools</span></a> </li> <!-- <li> <a href="/content/kwcms/sg/en/owners.html" data-ganame="Owners"><span>Owners</span></a> </li> <!-- <li> <a href="/content/kwcms/sg/en/discover-kia.html" data-ganame="Discover Kia"><span>Discover Kia</span></a> </li> <!-- </ul> 2024.03.05 #64946 푸터 메뉴 삭제 수정 --> <div class="info_country"> <a href="/sg/util/kia-global.html" target="_brank">Kia in <span>SG</span></a> </div> <div class="info_sns"> <a href="https://www.facebook.com/kia.sg" class="sns_spr spr_facebook" onclick="dtmDataLayer.external_link= 'sns|facebook'; _satellite.track('external_link');" target="_blank" title="Facebook">Facebook</a> <a href="https://www.instagram.com/kia_sg/" class="sns_spr spr_instagram" onclick="dtmDataLayer.external_link= 'sns|instagram'; _satellite.track('external_link');" target="_blank" title="Instagram">Instagram</a> <a href="http://www.youtube.com/user/KiaSingapore" class="sns_spr spr_youtube" onclick="dtmDataLayer.external_link= 'sns|youtube'; _satellite.track('external_link');" target="_blank" title="Youtube">Youtube</a> <a href="https://www.cyclecarriage.com/sg/kia/kia-connect" class="sns_spr spr_kia_mykia" onclick="dtmDataLayer.external_link= 'sns|kia_mykia'; _satellite.track('external_link');" target="_blank" title="My Kia">My Kia</a> </div> </div> <div class="foot_right"> <div class="item1"> <div class="mo_title">Showroom</div> <ul class="mo_con"> <li><a href="/sg/showroom/sorento-hybrid.html" data-ganame="Features">Sorento Hybrid</a></li> <li><a href="/sg/showroom/carnival-hybrid.html" data-ganame="Carnival">Carnival Hybrid</a></li> <li><a href="/sg/showroom/ev9.html" data-ganame="Features">EV9</a></li> <li><a href="/sg/showroom/niro-sg2-2023.html" data-ganame="Features">Niro Hybrid</a></li> <li><a href="/sg/showroom/niro-ev.html" data-ganame="Features">Niro EV</a></li> </ul> </div> <div class="item2"> <div class="mo_title">Shopping Tools</div> <ul class="mo_con"> <li><a href="/sg/shopping-tools/find-a-dealer.html" data-ganame="find a dealer">Find a Dealer</a></li> <li><a href="/sg/shopping-tools/request-a-quote.html" data-ganame="request a quote">Request a Quote</a></li> <li><a href="/sg/shopping-tools/request-a-test-drive.html" data-ganame="Request a Test Drive">Request a Test Drive</a></li> <li><a href="/sg/shopping-tools/request-a-brochure.html" data-ganame="request a brochure">Request a Brochure</a></li> <li><a href="/sg/shopping-tools/request-a-pricelist.html" data-ganame="request a pricelist">Request a Pricelist</a></li> <li><a href="/sg/shopping-tools/motor-insurance.html" data-ganame="motor insurance">Motor Insurance</a></li> <li><a href="/sg/shopping-tools/pre-owned-cars.html" data-ganame="pre-owned cars">Pre-owned Cars</a></li> </ul> </div> <div class="item3"> <div class="mo_title">Owners</div> <ul class="mo_con"> <li><a href="/sg/owners/kia-service.html" data-ganame="Kia Service">Kia Service</a></li> <li><a href="/sg/owners/book-a-service.html" data-ganame="Book a Service">Book a Service</a></li> <li><a href="/sg/owners/service-offers.html" data-ganame="Service Offers">Service Offers</a></li> <li><a href="/sg/owners/parts-accessories.html" data-ganame="Parts & Accessories">Parts & Accessories</a></li> <li><a href="/sg/owners/warranty-recalls.html" data-ganame="Warranty & Recalls">Warranty & Recalls</a></li> <li><a href="/sg/owners/roadside-assistance.html" data-ganame="Roadside Assistance">Roadside Assistance</a></li> <li><a href="/sg/owners/owner-resources.html" data-ganame="Owner Resources">Owner Resources</a></li> <li><a href="/sg/owners/connectivity.html" data-ganame="Connectivity">Connectivity</a></li> <li><a href="/sg/owners/ev-experience.html" data-ganame="EV Experience">EV Experience</a></li> </ul> </div> <div class="item7"> <div class="mo_title">Discover Kia</div> <ul class="mo_con"> <li><a href="/sg/discover-kia/our-movement.html" data-ganame="our movment">Our Movement</a></li> <li><a href="/sg/discover-kia/pbv.html" data-ganame="PBV">PBV</a></li> <li><a href="/sg/discover-kia/sponsorship.html" data-ganame="Sponsorship">Sponsorship</a></li> <li><a href="/sg/discover-kia/ask.html" data-ganame="ask">ASK</a></li> <li><a href="/sg/discover-kia/brand-campaign.html" data-ganame="brand campaign">Brand Campaign</a></li> <li><a href="/sg/discover-kia/sustainability.html" data-ganame="sustainability">Sustainability</a></li> <li><a href="/sg/discover-kia/ev-day.html" data-ganame="EV Day">EV Day</a></li> <li><a href="/sg/discover-kia/ao2024.html" data-ganame="ao2024">AO 2024</a></li> </ul> </div> </div> </div> <div class="foot_copy_area"> <div class="foot_breadcrumbs"> <!-- new wsg foot_breadcrumbs 서브 --> <ol vocab="http://schema.org/" typeof="BreadcrumbList"> <li property="itemListElement" typeof="ListItem" style="display:inline"> <span><a href="/sg/main.html" property="item" typeof="WebPage">Home</a> &gt;</span> <meta property="position" content= 1> </li> <li property="itemListElement" typeof="ListItem" style="display:inline"> <span class="depth" property="name">shopping tools</span><span class="gt">&gt;</span> <meta property="position" content= 2> </li> <li property="itemListElement" typeof="ListItem" style="display:inline"> <strong class="depth current" property="name">Find a Dealer</strong> <meta property="position" content= 3> </li> </ol> <!-- new wsg foot_breadcrumbs 서브 E --> </div> <div class="copyright"> <span class="tel_call"> <!-- #50692 call text 직접 입력--> </span> <address class="cpr"> <span class="br">Copyright© 2024 Kia Corporation. All Rights Reserved.</span> </address> </div> </div> </div> </div> <!-- new wsg 디자인변경 E --> <script type="text/javascript" src="/etc/designs/kia-singapore/clientlib/js/jquery.form.stylishSelect.min.js"></script> <script type="text/javascript" src="/etc/designs/kia-singapore/clientlib/js/picturefill.js"></script> <script type="text/javascript"> $(document).ready(function(){ //stylish selectbox init if ($(".form_select").length > 0) { $(".form_select").sSelect(); } }); </script></div> <!-- showroom GA code add. 2015.02.25 --> <script type="text/javascript">_satellite.pageBottom();</script> <!-- GA code add. 2015.02.25 mf--> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-37592437-2', 'auto'); ga('send', 'pageview'); </script> </div> <div class="gnb_dimmed" style="position: absolute;"></div> <div class="cloudservices servicecomponents"> </div> </div> <!-- 20190911 #43883 추가 YKJ 20190924 추가 #45375 추가--> <!-- Start of AiChat Web Widget Script <script type="text/javascript" id="aichat-embedder-v4xUYAF8WXXVP2Er" class="aichat-async-script-loader">(function() {function AiChatWidgetLoad() {var s = document.createElement("script");s.type = "text/javascript";s.async = true;s.src = "https://kia.aichat.site/kia/widget/web-chat-widget/v4xUYAF8WXXVP2Er";var e = document.getElementById("aichat-embedder-v4xUYAF8WXXVP2Er");e.parentNode.insertBefore(s, e);window.aichat_options = { always_open : false };}if (window.attachEvent) { window.attachEvent("onLoad", AiChatWidgetLoad); } else { window.addEventListener("load", AiChatWidgetLoad, false); }})()</script> <!-- End of AiChat Web Widget Script--> <!-- Start of AiChat Web Widget Script #50588 추가--> <script type="text/javascript" id="aichat-embedder-v4xUYAF8WXXVP2Er" class="aichat-async-script-loader">(function() {function AiChatWidgetLoad() {var s = document.createElement("script");s.type = "text/javascript";s.async = true;s.src = "https://kia32.aichat.site/kia/widget/web-chat-widget/v4xUYAF8WXXVP2Er";var e = document.getElementById("aichat-embedder-v4xUYAF8WXXVP2Er");e.parentNode.insertBefore(s, e);window.aichat_options = { always_open : false };}if (window.attachEvent) { window.attachEvent("onLoad", AiChatWidgetLoad); } else { window.addEventListener("load", AiChatWidgetLoad, false); }})()</script> <!-- End of AiChat Web Widget Script--> <!-- body-end-content start --> <!-- #55505 #54979 START --> <script> (function($) { //console.log('onload') var _tempTimeoutIndex = setTimeout(function(){ _initTagEvent() }, 200); var _initTagEvent = function() { clearTimeout(_tempTimeoutIndex); //console.log("===================== add onclick event to Outbound anchor tag start") //console.log("판정기준 : A태그의 링크값(href)에 외부도메인이 걸려있을 경우. pdf외부링크는 제외.") $("a").not("[href$=\'.pdf\']").each( function() { var propHref = $(this).prop('href'); // 링크의 도메인이 외부도메인인지 여부, 링크가 http로 시작하는지 여부 if( propHref.indexOf(document.domain) < 0 && propHref.startsWith("http") ) { //console.log(this); if( !$(this).hasClass("sns_spr") ) { if( $(this).hasClass("moment") ) { $(this).off('click.tag.anchor').on('click.tag.anchor', function() { window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'Outbound Links','event_category': 'navigation', 'event_action': 'outbound link', 'event_label': propHref }); //console.log(window.dataLayer) }); } else { $(this).off('click.tag.anchor').on('click.tag.anchor', function() { window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'link_interaction', 'event_category': 'outbound Link', 'event_action': $(this).attr("title"), 'event_label': propHref });//eg: https://www.youtube.com/c/kiachile //console.log(window.dataLayer) }); } } else { $(this).off('click.tag.anchor').on('click.tag.anchor', function() { window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'ga_event', 'event_category': 'navigation', 'event_action':'outbound Link', 'event_label': propHref });//eg: https://www.youtube.com/c/kiachile console.log(window.dataLayer) }); } } else { if( $(this).hasClass("moment") ) { $(this).off('click.tag.anchor').on('click.tag.anchor', function() { window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'Outbound Links','event_category': 'navigation', 'event_action': 'outbound link', 'event_label': propHref }); //console.log(window.dataLayer) }); } } }); //console.log("//===================== add onclick event to Outbound anchor tag end \n\n\n"); //console.log("===================== add onclick event to PDF link start") //console.log("판정기준1 : A태그의 링크값(href)에 pdf링크가 걸려있을 경우") //console.log("판정기준2 : A태그의 data-is-pdf 값이 true 일 경우") //console.log("판정기준 : 1,2 의 결과를 merge 하여 처리.") var _arrPdfLink = $.makeArray($("a[href$=\'.pdf\']")); var _arrIsPdfData = $.makeArray($("a[data-is-pdf=true]")); var _arrTarget = $.unique([..._arrPdfLink, ..._arrIsPdfData]); for(var i in _arrTarget) { //console.log(_arrTarget[i]) $(_arrTarget[i]).off('click.tag.pdf').on('click.tag.pdf', function() { window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'saving', 'event_category': 'saving', 'event_action': 'pdf download', 'event_label': $(this).data('pdf-url') || $(this).attr('href') });//eg: https://www.kia.com/content/dam/kwcms/cl/es/files/fichas-tecnicas/FichasTecnic as/Ficha-T%C3%A9cnica-KiaSeltos.pdf //console.log(window.dataLayer) }); } //console.log("//===================== add onclick event to PDF link end \n\n\n"); $("a.datalayer_bookservice").each(function() { window.dataLayer.push({ 'event': 'form_interaction', 'event_category': 'form', 'event_action': 'book a service', 'event_label': 'start', }); $(this).off('click.datalayer').on('click.datalayer', function() { window.dataLayer.push({ 'event': 'form_interaction', 'event_category': 'form', 'event_action': 'book a service', 'event_label': 'submit', }); }); }); $("a.datalayer_preownedcar").each(function() { window.dataLayer.push({ 'event': 'form_interaction', 'event_category': 'form', 'event_action': 'pre-owned cars', 'event_label': 'start', }); $(this).off('click.datalayer').on('click.datalayer', function() { window.dataLayer.push({ 'event': 'form_interaction', 'event_category': 'form', 'event_action': 'pre-owned cars', 'event_label': 'submit', }); }); }); // live stream 링크 처리 header $(".gnb_menu.gnb-menu").off('click.initdatalayer').on("click.initdatalayer", ".dth2_l a", function() { if( $(this).attr('href') == '/id/shopping-tools/live-stream-showroom.html' ) { window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'form_interaction', 'event_category': 'form', 'event_action': 'request a live stream', 'event_label': 'start' }); //console.log(window.dataLayer) } }); // live stream 링크 처리 footer $(".f_navi .mo_con").off('click.initdatalayer').on("click.initdatalayer", "a", function() { if( $(this).attr('href') == '/id/shopping-tools/live-stream-showroom.html' ) { window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'form_interaction', 'event_category': 'form', 'event_action': 'request a live stream', 'event_label': 'start' }); //console.log(window.dataLayer) } }); //console.log("===================== add onclick logo event to anchor start"); $("div.logo_h1 > a" ).off("click.tag.anchor").on("click.tag.anchor", function(){ window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'ga_event', 'event_category': 'navigation', 'event_action': 'top menu', 'event_label': 'logo' }); //console.log(window.dataLayer); }); //console.log("===================== add onclick logo event to anchor end \n\n\n"); //console.log("===================== add top menu event to anchor start"); //console.log("판정기준1 : 대메뉴"); //console.log("판정기준2 : 대메뉴 하위 showroom을 제외한 a 링크"); //console.log("판정기준 : 1,2 의 결과를 merge 하여 처리."); //console.log("예외처리1 : 내부링크에서만 동작"); //console.log("예외처리2 : .pdf 클래스가 있거나 , data-is-pdf=true 일경우 제외"); var _arrdepthOneMenu = $.makeArray($(".gnb_nav .dth1_l > a ")); var _arrdepthTwoMenu = $.makeArray($(".gnb_nav .dth2_u > li > a ")); var _arrTopUtil = $.makeArray( $("div.util_area > ul > li > a.util_a") ); var _arrTopUtil_right = $.makeArray( $("div.util_area > div").find("a") ); var _arrTopMenu = $.unique([..._arrdepthOneMenu, ..._arrdepthTwoMenu, ..._arrTopUtil, ..._arrTopUtil_right]); for( var i in _arrTopMenu ){ $(_arrTopMenu[i]).off("click.tag.anchor").on("click.tag.anchor", function(){ var propHref = $(this).prop('href'); var isSearchBtn = $(this).hasClass( "sch_act_btn" ); var label = $(this).attr("data-ganame"); if( !label ) label = $(this).text(); if( isSearchBtn ) label = $(this).find("span").text(); // 링크의 도메인이 외부도메인인지 여부, 링크가 http로 시작하는지 여부 if( propHref.indexOf(document.domain) > -1 ) { //console.log( "외부링크아님" ); if( !$(this).hasClass("pdf") || $(this).attr("data-is-pdf") != "true" ) { //console.log( "pdf 아님" ); window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'ga_event', 'event_category': 'navigation', 'event_action': 'top menu', 'event_label': label }); //console.log(window.dataLayer); } } }); } //console.log("//===================== add top menu event to anchor End \n\n"); //console.log("===================== add buttom menu event to anchor start"); //console.log("판정기준1 : buttom 메뉴의 a 태그"); //console.log("예외처리 : 외부링크 제외 ex: facebook 링크등등. "); var _arrButtomMenu = $.makeArray($("div.foot_right > div").find("a")); for( var i in _arrButtomMenu ){ $(_arrButtomMenu[i]).off("click.tag.anchor").on("click.tag.anchor", function(){ var propHref = $(this).prop('href'); var label = $(this).attr("data-ganame"); if( !label ) label = $(this).text(); if( propHref.indexOf(document.domain) > -1 ) { if( !$(this).hasClass("pdf") || $(this).attr("data-is-pdf") != "true" ) { window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'ga_event', 'event_category': 'navigation', 'event_action': 'bottom menu', 'event_label': label }); //console.log(window.dataLayer); } } }); } //console.log("//===================== add buttom menu event to anchor End \n\n"); //console.log("===================== add model menu event to anchor start"); //console.log("판정기준1 : Top menu 중에 model 메뉴의 a 태그"); var _arrModelMenu = $.makeArray($("ul.gnb_nav").find("a.grid_box")); for( var i in _arrModelMenu ){ $(_arrModelMenu[i]).off("click.tag.anchor").on("click.tag.anchor", function(){ window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'ga_event', 'event_category': 'navigation', 'event_action': 'model menu', 'event_label': $(this).find(".g_name").text(), 'vehicle_name': $(this).find(".g_name").text() }); //console.log(window.dataLayer); }); } //console.log("//===================== add model menu event to anchor End \n\n"); //console.log("===================== add homepage CTA click event to anchor start"); var _arrKvCta = $.makeArray($("a.kv_btn")); for( var i in _arrKvCta ){ $(_arrKvCta[i]).off("click.tag.anchor").on("click.tag.anchor", function(){ window.dataLayer = window.dataLayer ||[]; dataLayer.push({ 'event': 'ga_event', 'event_category': 'navigation', 'event_action': $(this).find("span").text() , 'event_label': location.protocol+"//"+location.host+$(this).attr("href") }); //console.log(window.dataLayer); }); } //console.log("===================== add homepage CTA click event to anchor End \n\n"); } })(jQuery); </script> <!-- #55505 #54979 END --> <!-- //body-end-content end --> </body> <!-- end, after body tag --> </html>

Pages: 1 2 3 4 5 6 7 8 9 10