카카오 지도API 연동 게시판 모바일용 (마커클러스터러적용) mapV2.2 정보
게시판 카카오 지도API 연동 게시판 모바일용 (마커클러스터러적용) mapV2.2첨부파일
테스트한 버전5.5.8.2.8
호환 가능 버전5.4 이상
본문
Fix
23.08.04 일자로 다른 작업으로 인해 부득이하게 테스트 페이지 삭제처리 했습니다.
안녕하세요~!!
카카오 지도api 연동 게시판 PC버전에 이어 모바일(mobile)용으로 제작하게 되어서 공유 해봅니다.
많은 분들이 모바일용에 관해서 문의를 주셔서 틈틈히 시간을 내어서 제작하게 되었습니다.
아직은 미흡한 부분이 있을 수 있습니다.
PC, 모바일기기, 태블릿 환경에서 테스트 완료되었습니다. (반응형 아닙니다.)
수정된 부분
view.skin.php
1. PC버전에 있는 지도보기와 로드뷰 부분은 삭제하였습니다.
기능상 특별히 필요성이 없다고 판단하여 삭제조치함. (필요하신 분들은 PC버전의 내용을 참고하여 적용하시면 됩니다.)
2. 코멘트 부분 삭제 조치함.
3. 스킨의 레이아웃 부분은 모바일용에 맞게 재수정 함.
적용방법
1. 파일을 다운받아 압축해제
2. wm_include 폴더 root에 적용 (단, PC버전을 설치하신 분은 적용하지 않으셔도 됩니다.)
3. skin 폴더는 skin폴더에 적용 (/mobile/skin 폴더에 적용하시면 됩니다.)
수정해야 할 파일
wm_include 폴더에 있는 파일 수정
map.ajax.php
$sql = " select * from g5_write_mapv2 order by wr_id asc ";
// g5_write_mapv2 (본인의 게시판명으로 수정)
wr_id.ajax.php
$bo_table ="mapv2";
// 본인의 게시판명으로 수정
테스트환경
php 7.2 / 7.4
mysql 5.7 ~ 8.0
그누보드 5.4 ~ 5.5.8.2.8
오늘도 즐거운 하루 되세요~^^
!-->!-->
추천
13
13
댓글 전체
수고 하셨습니다. 감사 합니다.
@들레아빠 추천해 주셔서 감사합니다.
좋은 하루 되세요^^
좋은 하루 되세요^^
감사합니다.
@써맨 관심가져 주셔서 감사합니다.
좋은 하루 되세요
좋은 하루 되세요
감사합니다. ^^
@민트다이어리 관심 가져 주셔서 감사합니다.
즐거운 하루 되세요
즐거운 하루 되세요
와우 멋집니다. 고생하셨습니다.
@Daniel74 관심가져 주셔서 감사합니다
좋은 하루 되세요
좋은 하루 되세요
공유 감사합니다~!
@깜자 관심 가져 주셔서 감사합니다
즐거운 하루 되세요^^
즐거운 하루 되세요^^
공유 감사합니다.
닷홈 호스팅도 그누보드가
되는가요?
무료 호스팅이용중인데요
닷홈 호스팅도 그누보드가
되는가요?
무료 호스팅이용중인데요
감사합니다
@juns 관심가져 주셔서 감사합니다.
좋은 하루 되세요
좋은 하루 되세요
수고 많으셨습니다.
@오소피아 관심가져 주셔서 감사합니다.
좋은 하루 되세요
좋은 하루 되세요
수고많으셨네요
@제임스브라운 격려의 댓글 감사드립니다.
좋은 하루 되세요
좋은 하루 되세요
좋은스킨 감사합니다. 테이블명변경하고 여분필드1에 api키 입력하고 셋팅했는데 주소입력누르면 주소입력창이뜨질 안네요....혹시 다른 설정이 필요할까요? device=mobile로 했습니다.
웹메이킹 님 좋은 스킨자료 감사~ 감사합니다~
저도 한번 적용해보려~ 끙끙~ 그리며~ 수정해보고 있는데요~~
wm_include 폴더에 있는 파일 수정 하는것
아래처럼 수정하여 사용하면 안되나요? (잘~ 안되어서 물어봅니다)
홈페이지에 지도 게시판이 1개 지도 보는것은 상관없겠지만
지도 게시판이 여러개 있을경우 적용해보려합니다~
(아니면 스킨 폴더에 wm_include폴더 파일을 넣고 게시판 마다 달리 적용을 하면 좋을것 같은데... 아직 초보여서 잘~ 모르겠습니다~
웹메이킹님과 고수님들~ 한번 봐주세요~~[꾸벅]
댓글에 미리 감사를 드립니다~
map.ajax.php
$sql = " select * from g5_write_mapv2 order by wr_id asc ";
// g5_write_mapv2 (본인의 게시판명으로 수정)
==> $sql = " select * from g5_".$bo_table." order by wr_id asc ";
wr_id.ajax.php
$bo_table ="mapv2";
// 본인의 게시판명으로 수정
==> $bo_table = $row['bo_table'];
저도 한번 적용해보려~ 끙끙~ 그리며~ 수정해보고 있는데요~~
wm_include 폴더에 있는 파일 수정 하는것
아래처럼 수정하여 사용하면 안되나요? (잘~ 안되어서 물어봅니다)
홈페이지에 지도 게시판이 1개 지도 보는것은 상관없겠지만
지도 게시판이 여러개 있을경우 적용해보려합니다~
(아니면 스킨 폴더에 wm_include폴더 파일을 넣고 게시판 마다 달리 적용을 하면 좋을것 같은데... 아직 초보여서 잘~ 모르겠습니다~
웹메이킹님과 고수님들~ 한번 봐주세요~~[꾸벅]
댓글에 미리 감사를 드립니다~
map.ajax.php
$sql = " select * from g5_write_mapv2 order by wr_id asc ";
// g5_write_mapv2 (본인의 게시판명으로 수정)
==> $sql = " select * from g5_".$bo_table." order by wr_id asc ";
wr_id.ajax.php
$bo_table ="mapv2";
// 본인의 게시판명으로 수정
==> $bo_table = $row['bo_table'];
여러개의 게시판에서 사용하는 방법은 다음과 같이 하시면 됩니다.
map.ajax.php 파일 수정
<?php
header("Content-Type: application/json");
include_once './_common.php';
// 'bo_table' 매개변수로 게시판 이름이 전달되는지 확인합니다.
if (!isset($_POST['bo_table']) || empty($_POST['bo_table'])) {
echo json_encode(array("error" => "Invalid board name"));
exit;
}
$bo_table = $_POST['bo_table']; // 게시판 이름을 매개변수로 받아옵니다.
$sql = "SELECT * FROM g5_write_".$bo_table." ORDER BY wr_id ASC";
$result = sql_query($sql);
$position = array();
while ($row = sql_fetch_array($result)) {
$lat = $row['wr_5'];
$lng = $row['wr_6'];
$wr_id = $row['wr_id'];
$item = array("lat" => $lat, "lng" => $lng, "wr_id" => $wr_id);
array_push($position, $item);
}
$board = array();
$board['positions'] = $position;
// 숫자로 표기되는 부분은 숫자 그대로 출력하도록 옵션 설정
echo json_encode($board, JSON_NUMERIC_CHECK);
?>
wr_id.ajax.php 파일 수정
<?php
include_once './_common.php';
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// 'bo_tables' 매개변수로 여러 개의 게시판 이름이 배열 형태로 전달됩니다.
if (!isset($_POST['bo_tables']) || empty($_POST['bo_tables'])) {
echo "게시판 이름이 제공되지 않았습니다";
exit;
}
$wr_id = $_POST['wr_id'];
$bo_tables = $_POST['bo_tables']; // 여러 개의 게시판 이름이 배열 형태로 전달됩니다.
// 각 게시판에 대한 데이터를 가져옵니다.
$results = array();
foreach ($bo_tables as $bo_table) {
$sql = " SELECT * FROM g5_write_".$bo_table." WHERE wr_id = '$wr_id' ";
$row = sql_fetch($sql);
$thumb = get_list_thumbnail($bo_table, $row['wr_id'], 75, 73, false, true);
// 각 게시판의 데이터를 결과 배열에 추가합니다.
$result = array(
'bo_table' => $bo_table,
'subject' => $row['wr_subject'],
'thumbnail_src' => $thumb['src'],
'desc' => $row['wr_3'],
'jibun' => $row['wr_4'],
'link' => $row['wr_link1']
);
$results[] = $result;
}
// JSON 형태로 결과를 출력합니다.
header('Content-Type: application/json');
echo json_encode($results);
exit;
?>
list.skin.php 파일에서 ajax 호출할때 다음과 같이 하시면 됩니다.
[code]
<script>
const wr_id = <?php echo $list[$i]['wr_id] ?>;
const boardName = 'aaa'; // 특정 게시판명
const ajaxUrl = 'wr_id.ajax.php';
// AJAX 호출
$.ajax({
type: 'POST',
url: g5_url+"/wm_include/main_map/wr_id.ajax.php",
data: {
wr_id: wr_id,
bo_table: boardName // 게시판 이름을 매개변수로 전달합니다.
},
success: function (data) {
// AJAX 호출에서 반환된 데이터를 처리합니다.
// 예를 들어 데이터로 웹페이지의 특정 부분을 업데이트할 수 있습니다.
},
error: function (xhr, status, error) {
// 오류 처리를 수행합니다.
}
});
</script>
map.ajax.php 파일 수정
<?php
header("Content-Type: application/json");
include_once './_common.php';
// 'bo_table' 매개변수로 게시판 이름이 전달되는지 확인합니다.
if (!isset($_POST['bo_table']) || empty($_POST['bo_table'])) {
echo json_encode(array("error" => "Invalid board name"));
exit;
}
$bo_table = $_POST['bo_table']; // 게시판 이름을 매개변수로 받아옵니다.
$sql = "SELECT * FROM g5_write_".$bo_table." ORDER BY wr_id ASC";
$result = sql_query($sql);
$position = array();
while ($row = sql_fetch_array($result)) {
$lat = $row['wr_5'];
$lng = $row['wr_6'];
$wr_id = $row['wr_id'];
$item = array("lat" => $lat, "lng" => $lng, "wr_id" => $wr_id);
array_push($position, $item);
}
$board = array();
$board['positions'] = $position;
// 숫자로 표기되는 부분은 숫자 그대로 출력하도록 옵션 설정
echo json_encode($board, JSON_NUMERIC_CHECK);
?>
wr_id.ajax.php 파일 수정
<?php
include_once './_common.php';
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// 'bo_tables' 매개변수로 여러 개의 게시판 이름이 배열 형태로 전달됩니다.
if (!isset($_POST['bo_tables']) || empty($_POST['bo_tables'])) {
echo "게시판 이름이 제공되지 않았습니다";
exit;
}
$wr_id = $_POST['wr_id'];
$bo_tables = $_POST['bo_tables']; // 여러 개의 게시판 이름이 배열 형태로 전달됩니다.
// 각 게시판에 대한 데이터를 가져옵니다.
$results = array();
foreach ($bo_tables as $bo_table) {
$sql = " SELECT * FROM g5_write_".$bo_table." WHERE wr_id = '$wr_id' ";
$row = sql_fetch($sql);
$thumb = get_list_thumbnail($bo_table, $row['wr_id'], 75, 73, false, true);
// 각 게시판의 데이터를 결과 배열에 추가합니다.
$result = array(
'bo_table' => $bo_table,
'subject' => $row['wr_subject'],
'thumbnail_src' => $thumb['src'],
'desc' => $row['wr_3'],
'jibun' => $row['wr_4'],
'link' => $row['wr_link1']
);
$results[] = $result;
}
// JSON 형태로 결과를 출력합니다.
header('Content-Type: application/json');
echo json_encode($results);
exit;
?>
list.skin.php 파일에서 ajax 호출할때 다음과 같이 하시면 됩니다.
[code]
<script>
const wr_id = <?php echo $list[$i]['wr_id] ?>;
const boardName = 'aaa'; // 특정 게시판명
const ajaxUrl = 'wr_id.ajax.php';
// AJAX 호출
$.ajax({
type: 'POST',
url: g5_url+"/wm_include/main_map/wr_id.ajax.php",
data: {
wr_id: wr_id,
bo_table: boardName // 게시판 이름을 매개변수로 전달합니다.
},
success: function (data) {
// AJAX 호출에서 반환된 데이터를 처리합니다.
// 예를 들어 데이터로 웹페이지의 특정 부분을 업데이트할 수 있습니다.
},
error: function (xhr, status, error) {
// 오류 처리를 수행합니다.
}
});
</script>
웹메이킹 님~~~~
친절한 설명 감사합니다~~
아직 초보여서 이해는 다~ 못하지만~
열심히 적용해보겠습니다~~
다시한번 감사의 인사 드립니다~~
날씨가 너무 많이 덥네요~~
더운날씨에 건강관리 조심하시고~
시원한 여름 휴가 및 좋은시간 되세요~~
감사합니다~[꾸벅]
친절한 설명 감사합니다~~
아직 초보여서 이해는 다~ 못하지만~
열심히 적용해보겠습니다~~
다시한번 감사의 인사 드립니다~~
날씨가 너무 많이 덥네요~~
더운날씨에 건강관리 조심하시고~
시원한 여름 휴가 및 좋은시간 되세요~~
감사합니다~[꾸벅]
선생님 제작하시다가 어디 가셨나요 ? 답변 바랍니다.