diff --git a/dev/src/pages/samples/addMapCenterChangedEvent.tsx b/dev/src/pages/samples/addMapCenterChangedEvent.tsx
new file mode 100644
index 00000000..e61b4a8b
--- /dev/null
+++ b/dev/src/pages/samples/addMapCenterChangedEvent.tsx
@@ -0,0 +1,58 @@
+import { Map } from "react-kakao-maps-sdk"
+import useKakaoLoader from "./useKakaoLoader"
+import { useState } from "react"
+
+export default function AddMapCenterChangedEvent() {
+ useKakaoLoader()
+ const [data, setData] = useState<{
+ level: number
+ position: {
+ lat: number
+ lng: number
+ }
+ }>()
+
+ return (
+ <>
+
+ >
+ )
+}
diff --git a/docs/docs/sample/map/addMapCenterChangedEvent.mdx b/docs/docs/sample/map/addMapCenterChangedEvent.mdx
index f10689ed..3311f112 100644
--- a/docs/docs/sample/map/addMapCenterChangedEvent.mdx
+++ b/docs/docs/sample/map/addMapCenterChangedEvent.mdx
@@ -9,41 +9,6 @@ sidebar_position: 19
> original docs : https://apis.map.kakao.com/web/sample/addMapCenterChangedEvent/
-```jsx live
-function(){
- const Main = () => {
- const [state, setState] = useState()
- return (
- <>
-
- {!!state && (
- <>
- {'지도 레벨은 ' + state.level + ' 이고'}
- {'중심 좌표는 위도 ' + state.center.lat + ', 경도 ' + state.center.lng +' 입니다'}
- >
- )}
- >
- )
- }
- return ()
-}
-```
+import codesource from "!!raw-loader!~samples/addMapCenterChangedEvent.tsx"
+
+{codesource}
diff --git a/packages/react-kakao-maps-sdk/__test__/addMapCenterChangedEvent.spec.ts b/packages/react-kakao-maps-sdk/__test__/addMapCenterChangedEvent.spec.ts
new file mode 100644
index 00000000..f18a064c
--- /dev/null
+++ b/packages/react-kakao-maps-sdk/__test__/addMapCenterChangedEvent.spec.ts
@@ -0,0 +1,36 @@
+import { test, expect } from "@playwright/test"
+import { getTestUrl, waitNetworkIdleWithTimeout } from "./util"
+
+test("ScreenShot 렌더링 결과 비교", async ({ page }, testInfo) => {
+ const url = getTestUrl(
+ "addMapCenterChangedEvent",
+ testInfo.config.updateSnapshots === "all",
+ )
+ await page.goto(url, { waitUntil: "networkidle" })
+ await waitNetworkIdleWithTimeout(page)
+ await expect(page).toHaveScreenshot()
+
+ const mapBoundingBox = await page.locator("#map").boundingBox()
+ await page.mouse.move(mapBoundingBox!.x, mapBoundingBox!.y)
+ await page.mouse.wheel(0, 10)
+ await page.mouse.down()
+ await page.mouse.move(
+ mapBoundingBox!.x + mapBoundingBox!.width / 2,
+ mapBoundingBox!.y + mapBoundingBox!.height / 2,
+ )
+ await waitNetworkIdleWithTimeout(page)
+
+ await expect(page.locator("#result")).toHaveText(
+ "지도 레벨은 4 이고중심 좌표는 위도 33.44914633366172, 경도 126.57746618837292입니다",
+ )
+ await page.mouse.move(
+ mapBoundingBox!.x + mapBoundingBox!.width / 3,
+ mapBoundingBox!.y + mapBoundingBox!.height / 3,
+ )
+ await page.mouse.up()
+ await page.mouse.wheel(0, -3)
+ await waitNetworkIdleWithTimeout(page)
+ await expect(page.locator("#result")).toHaveText(
+ "지도 레벨은 3 이고중심 좌표는 위도 33.449670516261634, 경도 126.5751942751081입니다",
+ )
+})