
Flutter에서 Kakao Map API를 활용하여 지도 기능을 구현하는 방법을 소개합니다. Kakao Map API는 다양한 지도 기능과 POI(장소) 검색, 경로 안내 등의 기능을 제공합니다.
Flutter에서 Kakao Map을 사용하려면 flutter_inappwebview 또는 WebView 패키지를 이용해야 합니다. pubspec.yaml 파일에 다음 의존성을 추가합니다.
dependencies:
flutter:
sdk: flutter
flutter_inappwebview: ^5.7.2
android/app/src/main/AndroidManifest.xml 파일을 열고, 인터넷 권한을 추가합니다.<uses-permission android:name="android.permission.INTERNET"/>
AndroidManifest.xml에 다음 내용을 추가합니다.<meta-data
android:name="com.kakao.sdk.AppKey"
android:value="여기에_네이티브_앱_키_입력"/>
ios/Runner/Info.plist 파일을 열고, WebView 관련 설정을 추가합니다.<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Kakao Map API는 기본적으로 웹 기반이므로 WebView를 활용하여 지도를 표시할 수 있습니다.
Flutter에서 WebView를 이용하여 Kakao Map을 표시하는 예제 코드입니다.
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
class KakaoMapScreen extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Kakao Map")),
body: InAppWebView(
initialUrlRequest: URLRequest(
url: Uri.parse("https://map.kakao.com"),
),
),
);
}
}
Kakao Map API를 활용하여 Flutter 내에서 JavaScript를 실행할 수도 있습니다. 예를 들어, 특정 위치에 마커를 추가하는 방법은 다음과 같습니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=여기에_Javascript_키_입력"></script>
</head>
<body>
<div id="map" style="width:100%;height:100vh;"></div>
<script>
var mapContainer = document.getElementById('map');
var mapOption = {
center: new kakao.maps.LatLng(37.5665, 126.9780),
level: 3
};
var map = new kakao.maps.Map(mapContainer, mapOption);
</script>
</body>
</html>
Flutter에서 Kakao Map API를 사용하여 지도를 표시하고 제어하는 방법을 알아보았습니다. WebView와 JavaScript를 활용하면 다양한 지도 기능을 구현할 수 있습니다. 추후 Flutter 플러그인으로 개발된 Kakao Map 패키지가 나오면 보다 손쉽게 사용할 수 있을 것입니다.