diff --git a/info.xml b/info.xml index 152a5c5..de19822 100644 --- a/info.xml +++ b/info.xml @@ -4,8 +4,8 @@ Maps 지도를 원하는 곳에 추가하거나 수정할 수 있습니다. Google Maps API, 다음 지도 API, 다음 로컬 API 등이 사용되었습니다. Maps can be inserted in your documents. Google Maps API, Daum Maps API, Daum Local API and some other APIs are included. - 1.2 - 2015-07-14 + 1.2.1 + 2015-09-21 GPLv3 김민수(misol) @@ -13,16 +13,29 @@ - 다음 API REST/JS Key(선택) - DaumKakao API REST/JS Key(Optional, For Korean maps) + 다음 API REST/JS Key(선택, 다음 지도를 사용할 경우 필수) + DaumKakao API REST/JS Key (Optional, For Korean maps) https://developers.daum.net/console 에서 앱 만들기 후, API 키 메뉴에서 REST/JS API 키 항목을 통해 웹 브라우저용 API 키를 발급 받으신 키를 입력해주세요. 지도 API Key(선택) - Maps API Key(Optional, For Korean maps) + Maps API Key (Optional, For Korean maps) https://developers.daum.net/console 에서 앱 만들기 후, API 키 메뉴에서 REST/JS API 키 항목을 통해 웹 브라우저용 API 키를 발급 받으시거나, https://developer.naver.com/openapi/register.nhn 에서 지도 API 키를 발급받은 후 입력해주세요. 다음 지도를 이용하실 경우, 위 다음 API REST/JS Key에서 입력한 키와 동일한 키를 입력하셔야 다음 지도를 이용하실 수 있습니다. 아무 값을 입력하지 않을 경우, 구글 지도가 나타납니다. + + 지도 API Key 발급자(다음, 네이버 API 사용시 권장) + Maps API Key Distributors (Recommand, For Korean maps) + 다음 지도 API Key 가 32자 인 경우 반드시 선택해주시기 바랍니다. + + 자동 선택(다음 지도 아님) + Auto selection (Not Daum Maps) + + + 다음 + Daum + + \ No newline at end of file diff --git a/map_components.class.php b/map_components.class.php index f655b19..195af5f 100644 --- a/map_components.class.php +++ b/map_components.class.php @@ -96,12 +96,16 @@ function search() { // API 종류 정하기 다음/네이버/구글 if(trim($this->soo_map_api)) { - if($this->soo_map_api === $this->soo_daum_local_api_key || strlen($this->soo_map_api) === 40) + if($this->soo_map_api === $this->soo_daum_local_api_key || strlen($this->soo_map_api) === 40 || (trim($this->soo_map_api_type) === 'daum' && strlen($this->soo_map_api) == 32)) { if(!$this->soo_daum_local_api_key && strlen($this->soo_map_api) === 40) { $this->soo_daum_local_api_key = $this->soo_map_api; } + elseif(trim($this->soo_map_api_type) === 'daum' && !$this->soo_daum_local_api_key && strlen($this->soo_map_api) == 32) + { + $this->soo_daum_local_api_key = $this->soo_map_api; + } $this->maps_api_type = 'daum'; } elseif(strlen($this->soo_map_api) == 32) @@ -113,6 +117,8 @@ function search() { $this->maps_api_type = 'google'; } } + else + $this->maps_api_type = 'google'; $uri = sprintf('http://maps.googleapis.com/maps/api/geocode/xml?address=%s&sensor=false&language=%s',urlencode($address),urlencode($this->langtype)); $xml_doc = $this->xml_api_request($uri); @@ -191,8 +197,16 @@ function getPopupContent() { // API 종류 정하기 다음/네이버/구글 if(trim($this->soo_map_api)) { - if($this->soo_map_api === $this->soo_daum_local_api_key || strlen($this->soo_map_api) === 40) + if($this->soo_map_api === $this->soo_daum_local_api_key || strlen($this->soo_map_api) === 40 || (trim($this->soo_map_api_type) === 'daum' && strlen($this->soo_map_api) == 32)) { + if(!$this->soo_daum_local_api_key && strlen($this->soo_map_api) === 40) + { + $this->soo_daum_local_api_key = $this->soo_map_api; + } + elseif(trim($this->soo_map_api_type) === 'daum' && !$this->soo_daum_local_api_key && strlen($this->soo_map_api) == 32) + { + $this->soo_daum_local_api_key = $this->soo_map_api; + } $this->maps_api_type = 'daum'; } elseif(strlen($this->soo_map_api) == 32) @@ -204,6 +218,8 @@ function getPopupContent() { $this->maps_api_type = 'google'; } } + else + $this->maps_api_type = 'google'; // 다음과 네이버는 국내 지도만 사용가능. 구글은 세계지도. if($this->maps_api_type == 'daum') @@ -284,8 +300,12 @@ function transHTML($xml_obj) { // API 종류 정하기 다음/네이버/구글 if(trim($this->soo_map_api)) { - if($this->soo_map_api === $this->soo_daum_local_api_key || strlen($this->soo_map_api) === 40) + if($this->soo_map_api === $this->soo_daum_local_api_key || strlen($this->soo_map_api) === 40 || (trim($this->soo_map_api_type) === 'daum' && strlen($this->soo_map_api) == 32)) { + if((!$this->soo_daum_local_api_key && strlen($this->soo_map_api) === 40) || (trim($this->soo_map_api_type) === 'daum' && !$this->soo_daum_local_api_key && strlen($this->soo_map_api) == 32)) + { + $this->soo_daum_local_api_key = $this->soo_map_api; + } $this->maps_api_type = 'daum'; } elseif(strlen($this->soo_map_api) == 32) @@ -297,6 +317,8 @@ function transHTML($xml_obj) { $this->maps_api_type = 'google'; } } + else + $this->maps_api_type = 'google'; //한 페이지 내에 지도 수 $map_count = Context::get('pub_maps_count');