leeseohyun(lee)

Apply open api(lpg filling station of rest area)

...@@ -102,6 +102,70 @@ ...@@ -102,6 +102,70 @@
102 102
103 document.querySelector('bar1').innerHTML = 'LPG 충전소 여부'; 103 document.querySelector('bar1').innerHTML = 'LPG 충전소 여부';
104 document.querySelector('bar2').innerHTML = '브랜드'; 104 document.querySelector('bar2').innerHTML = '브랜드';
105 +
106 + var LPG_Reststop_List = [];
107 + fetch('http://data.ex.co.kr/openapi/business/lpgServiceAreaInfo?key=6806352377&type=json&numOfRows=1000').then(function (response) {
108 + method: 'GET';
109 + body: JSON.stringify(this.obj)
110 + response.text().then(function (text) {
111 +
112 + //쓸데없는 데이터를 제거하여 필요한 데이터만 정리하기
113 + index_1 = text.indexOf('[')
114 + index_2 = text.indexOf(']')
115 + mdata = text.substr(index_1 + 1, index_2 - index_1 - 1)
116 +
117 + //text data -> array data
118 + // },를 기준으로 하여 split으로 각 데이터셋 {}이 array의 원소가 되도록 array를 생성하기
119 + mmdata = mdata.split('},');
120 +
121 + //휴게소 이름들만 데이터리스트에서 추출해 LPG_Reststop_List 어레이에 넣기
122 +
123 + //mmdata의 길이만큼 반복
124 + for(let i=0; i<mmdata.length; i++){
125 +
126 + //휴게소 이름만 데이터리스트에서 추출하기
127 + index_3 = mmdata[i].indexOf('"serviceAreaName":"')
128 + index_4 = mmdata[i].indexOf(',"routeCode":"')
129 + ReststopName = mmdata[i].substr(index_3+19, index_4-index_3-20)
130 +
131 + //휴게소 이름을 어레이에 추가
132 + LPG_Reststop_List.push(ReststopName)}
133 +
134 + Exist='LPG 충전소가 없습니다'
135 + for(let j=0; j<LPG_Reststop_List.length; j++){
136 + if(name==LPG_Reststop_List[j]){
137 + Exist = 'LPG 충전소가 있습니다'
138 + }}
139 + document.querySelector('bar_1').innerHTML =String(Exist)
140 +
141 + })
142 + })
143 +
144 + //두번째 fetch에서는 name에 해당하는 주유소 브랜드 이름만 끌어오기
145 + fetch('http://data.ex.co.kr/openapi/business/lpgServiceAreaInfo?key=6806352377&type=json&serviceAreaName=' + name + '&numOfRows=1000').then(function (response) {
146 + method: 'GET';
147 + body: JSON.stringify(this.obj)
148 + response.text().then(function (text) {
149 +
150 + //text data->array data로 변환
151 + //데이터를 깔끔하게 정리
152 + index1 = text.indexOf('[')
153 + index2 = text.indexOf(']')
154 + ndata = text.substr(index1 + 1, index2 - index1 - 1)
155 + nndata = ndata.split('},');
156 +
157 + //Lpg 충전소 브랜드 이름
158 + for (let k = 0; k < nndata.length; k++) {
159 + index3 = nndata[k].indexOf('"oilCompany":"')
160 + nnndata = nndata[k].substr(index3)
161 + index4 = nnndata.indexOf(',')
162 + Lpgname = nnndata.substr(14, index4-15)
163 +
164 + //HTML화면에 띄우기
165 + document.querySelector('bar_2').innerHTML = String(Lpgname)
166 + }
167 + })
168 + })
105 } 169 }
106 </script> 170 </script>
107 171
......