kakao_map_sdk 1.3.1
kakao_map_sdk: ^1.3.1 copied to clipboard
A Flutter plugin that provides a native platform-based Kakao Map(Korean Map Service).
1.3.1 #
- Support merging overlapping Polygon holes on Android and iOS.
final position = MapPoint( polygonPoints, mergeOverlappingHoles: true, );- Add the
mergeOverlappingHolesoption toMapPoint,CirclePointandRectanglePoint. - Add
BasePoint.setMergeOverlappingHoles()to change the option after creating a point. - Merge holes that overlap or share vertices or edges when creating a Polygon or changing its position.
- Preserve the option when serializing or copying shape points.
- Add the
- Update version of base Android SDK from v2.13.5 to v2.15.2.
- Update version of base iOS SDK to v2.12.19 for CocoaPods and Swift Package Manager.
- Improve invalid native-call handling on Android and iOS.
- Return
INVALID_NATIVE_CALLas aFlutterErrorinstead of allowing Android handler exceptions to terminate the application. - Reject iOS map-dependent calls made before map readiness or after map destruction.
- Guard missing iOS LabelLayer, LodLabelLayer, POI, WaveText, Shape, Route and tracking resources before SDK access.
- Guard missing target POIs and Shapes used by iOS shared-position and shared-transform operations.
- Return
- Change Web
CirclePointandRectanglePointdimensions to real-world distances for parity with iOS. (#69)- Apply the iOS-compatible primitive scale when converting relative points to geographic coordinates.
- Increase the default Web circle resolution from 360 to 720 vertices.
- Document that Android continues to interpret
RectanglePointdimensions in pixels.
- Simplify Web shape and DimScreen event handling by removing redundant
bounds_changedlisteners. - [Fix] (Android / iOS) Align the
canShowPositionmethod name with the Dart channel contract. - [Fix] (Android / iOS) Send
removeShareTransformPoiwithtargetPoiIdand the matching native method name. - [Fix] (Android / iOS) Complete
setEventHandlermethod-channel calls after registering listeners. - [Fix] (Android / iOS) Send POI creation transforms using the
transformMethodkey expected by both native converters. - [Fix] (Android / iOS) Normalize an absent POI text value before
Poi.invalidate()reaches native string conversion. - [Fix] Use the newly appended style index when serializing secondary
MultipleRoutestyles. - [Fix] Forward badge ID, z-order and initial visibility to native platforms and retain the visibility in the Dart
Badgeinstance. - [Fix] (Android) Complete
setBuildingHeightScalecalls with a success result. - [Fix] (Android) Read the LabelLayer z-order from the
zOrderargument instead of the visibility argument. - [Fix] (Android / iOS) Add temporary platform-specific workarounds for
showAllPolylineText()andhideAllPolylineText(), whose native implementations do not work correctly.- On Android, use the LabelLayer bulk visibility methods and disable label logging to avoid the SDK null-pointer exception caused by iterating over PolylineText overlays.
- On iOS, show or hide each WaveText individually because the SDK bulk visibility methods do not take effect.
- [Fix] (iOS) Align the tracking rotation and POI pixel-offset method names with the Dart channel contract.
- [Fix] (iOS) Complete map-type and shared-transform method-channel calls with a success result.
- [Fix] (iOS) Remove map-coordinate and relative-coordinate polyline or polygon shapes through the matching SDK API.
- [Fix] (iOS) Apply the requested initial visibility when adding a POI badge.
- [Fix] (iOS) Read POI text transition, padding, LabelLayer ordering and combined text-gravity values from the correct fields.
- [Fix] (iOS) Read
isConsecutivefrom camera animation options. - [Fix] (iOS) Preserve route patterns for primary and secondary per-level styles, including
pinStart. - [Fix] (iOS) Read scale-bar fade-in, fade-out and retention times from their individual fields.
- [Fix] (iOS) Preserve native error type, message and error code in map error callbacks and map authentication failures consistently.
- [Fix] (iOS) Show newly added routes immediately.
- [Fix] (iOS) Emit the map-destroy callback only once and avoid duplicate engine cleanup during view deinitialization.
- [Fix] (Web Environment) Use the correct polygon collection when changing polygon visibility.
- [Fix] (Web Environment) Correct RGB channel scaling for PolylineText rendering.
1.3.0 #
- Support
PolylineTextoverlay on Web Platform. (#60)
| Native Platform (iOS) | Web Platform | ||
|---|---|---|---|
| Scale (100m) | Scale (50m) | Scale (30m) | |
|
|
|
|
|
- Support
DimScreenControlleron Web Platform. (#64)- Support color, visibility and cover type configurations.
- Support highlighted areas based on
MapPoint,CirclePointandRectanglePoint. - Support holes, open paths and polygon stroke styles.
- Apply DimScreen effects to Poi, custom label and PolylineText overlays.
| Native Platform (Android) | Native Platform (iOS) | Web Platform |
|---|---|---|
|
|
|
|
- Add
KakaoMapController.getBoundsfunction to retrieve the currently visible map area. (#58)final bounds = await controller.getBounds(context); final rect = bounds?.toRect();- Add
LatLngBoundsobject containingne,nw,seandswcoordinates. - Add
LatLngBounds.toRectfunction to generate arectparameter for Kakao REST APIs. - Improve bounds calculation for rotated viewports and temporarily unavailable native results.
- Add
- Update version of base Android SDK from v2.12.18 to v2.13.5.
- Migrate Android Gradle build scripts from Groovy to Kotlin DSL.
- [Fix] (Android) Map freezes after returning from the background. (#61)
- Add
recoverAndroidGLSurfaceViewOnResumefor non-destructive recovery. - Preserve previously registered overlays during recovery.
- Add
recreateAndroidMapViewOnResumeas an emergency fallback. - Add
androidMapViewRecreationDelayto configure the fallback delay.
- Add
- [Fix] (Android) Route styles are not applied when updating route points. (#66)
- [Fix] (Android) Invalid visibility payload of LabelLayer and LodLabelLayer.
- [Fix] (Android / iOS) Invalid conversion of mixed
CirclePointandRectanglePointholes. - [Fix] (iOS) Runtime error caused by
NSNullvalues in optional PoiIconStyle and PoiBadge images. (#63) - [Fix] (iOS) Invalid removal of DimScreen highlight polygon.
- [Fix] (iOS) Invalid PolylineText visibility, style update and removal behavior.
- [Fix] (Web Environment) Map center changes when resizing the map container.
- [Fix] (Web Environment) Invalid gesture type in an iOS browser.
- [Fix] (Web Environment) Invalid polygon and relative shape rendering.
- [Fix] (Web Environment) Overlay collections and event listeners are not disposed when the map element is removed.
- [Fix] Correct method names from
getRotueStyle()andgetMultipleRotueStyle()togetRouteStyle()andgetMultipleRouteStyle(). - [Fix] Invalid raw values of
DimScreenCoveron Android and iOS Platforms.
1.2.6 #
- [Fix] Missing
zoomLevelfield inCameraUpdate.newCenterPointfactory function. - [Fix] Invalid event name of terrain clicked event on iOS Platform. (#56)
1.2.5 #
- Add
copyWithfunction in user-defined object to copy the instance with modified parameters. - Override
==operator andhashCodefunction in user-defined object. - [Fix] Missing definition parameter for
tiltAngle,rotationAngleandheightinCameraPositionobject. (#55)
1.2.4 #
- [Fix] Missing alpha of color feature in iOS Platform (#54)
- [Fix] Not apply specific id of overlay in web environment
- [Fix] Missing poi icon in web environment
- [Fix] (Example) Fix the bottom clipping issue in Android Platform.
1.2.0 #
- Support SPM(Swift Package Manager) since v1.2
- Add
DimScreenControllerto cover the map with a specifc color.await controller.dimScreen.setColor(Colors.grey.withAlpha(80)); await controller.dimScreen.setVisible(true); - Add
TrackingControllerto track Poi with the camerafinal poi = await controller.labelLayer.addPoi(...); controller.tracking.poi = poi; await controller.tracking.start(); - Add
OverlayRegistrationFailedErrorandOverlayStyleRegistrationFailedErrorexception to preventNullPointerExceptionwhen overlay registration fails. - Add
Badgeto display another image near the Poi.final poi = await controller.labelLayer.addPoi(...); final badge = await poi.addBadge( KImage.fromAeest("ICON ASSET PATH"), 0.5, 0.5 ); - Add
Poi.addShareTransformfunction to share transform data with other poi or shapes. - Add
Poi.addSharePositionfunction to share location data with other poi. - Add
Poi.movePathfunction to move poi following the defined path. - Improved data structuring to overlay in web environment.
- [Fix] Remove usused
durationparameter inLodPoi.showfunction - [Fix] Invalid zoomLevel from
controller.getCameraPosition()function in web environment. - [Fix] Not applicable to other poi icons on zoom level in web environment.
- [Fix] Not applied the pre-specified ID of route in web environment.
1.1.4 #
- Update version of base SDK (to v2.12.14 in Android / to v2.12.5 in iOS)
- [Fix] (Web Environment) Ignored Z-Index attribute Kakao Map View in canvas mode (#23)
- [Fix] (Web Environment) Resolve type 'List
- [Fix] (Web Environment) Cannot move camera without animation option.
1.1.3 #
1.1.1 #
- Add calling
mapView.finish()function in Map View on Android. - [Fix] Fix
NoSuchMethodErrorin Map View on Android (#21) - [Fix] Fix Poi registration failed exception with text-only style on Web.
1.1.0 #
- Support Kakao Map SDK on Web Platform
- Add
KImage.fromWidgetto render the widget as an image element used on Poi Icon, Route Pattern Image, etc...
final icon = await KImage.fromWidget(const Text("텍스트"), Size(100, 40)); final poiStyle = PoiStyle(icon: icon); ... - Add
offset()anddistance()function in LatLng object to measure the distance of two point.
final point1 = const LatLng(latitude1, longitude1); final point2 = const LatLng(latitude2, longitude2); point1.distance(point2); // Return the distacne of two points. ... - Add
addRetangleHole,addCircleHolefunction in instance extendedDotPointobject.final point = CirclePoint(radius: 300); point.addCircleHole(radius: 200); // Add circle hole with a radius of 200 meters. ... - Add
otherStyles,otherStyleLevel, andotherStyleCountfield inPoiStyle,PolygonStyle,PolylineStyleandRouteStyle. - Add
multiplefield inRoute,MultipleRouteto seperate two type of route. - Add
removefunction in Polyline Shape, Polygon Shape. - [Fix] Rename
stylefield fromstylesinLodPoito unify the structure ofPoi. - [Fix] Missing
textparameter inPoi.setText. - [Fix] A runtime error occurs when adding a
MultipleRouteoverlay. - [Fix] Adjust screen point returned by the
onCameraMoveEndevent from relative pixels to absolute pixels on iOS Platform. (#16) - [Fix] Invalid raw value of Gestrue Type returned by the
onCameraMoveEndevent on iOS Platform (#20)
1.0.2 #
- Support Pro-Motion display mode in iOS Platform.
- Apply resizing capabilities in
addViewSucceededevent handler to onnection and resize duplicate event on iOS platform. - [Fix] Invaild extended type in KPoint.
- [Fix] Missing engine activation due to network error on iOS platform. (#15)
- [Fix] Adjust screen point to absolute pixels on iOS platform.
1.0.1 #
- The padding, zoomLevel parameters in CameraUpdate.fitMapPoints are no longer required.
- [Fix] Invalid type of CameraUpdate.fitMapPoints
- [Fix] Remake CameraUpdate.fitMapPoints parts in CameraTypeConvertType.swift to avoid Swift Compiling Error (#12)
1.0.0 #
This is first stable version of Kakao Map SDK (Flutter Plugin) A Kakao Map SDK was planned in October 25th, and development began on November 26th. I completed the implementation of the Kakao Map SDK on Android platform in early January and in February, I worked on the implementation for iOS platform. Finally, after testing in all platforms, I officially released the Kakao Map SDK.
- Implement the native based Kakao Map view.
- Support all features of overlay in Android, iOS platform.
- Poi, Lod Poi (Level of detail Poi), Polyline Text
- Polyline Shape, Polygon shape
- Route, Multiple Route
- Support all features of camera controls in Android, iOS platform.
0.2.0-dev.5 #
- Support all feature related Shape in iOS and Android Platform.
- Support point based position.
- Modifiy Polyline Shape
- Modifiy Polygon Shape
- Setup visible of shape layer
- Support all feature related Route in iOS and Android Platform.
- Add Route
- Modify Route
- Implement Route Converter
- Setup visible of route layer
- Implement modify label layer and lod label layer in Android Platform
- [Fix] Missing filled polyline shape style ID, polygon shape style ID, and route style ID.
- Integrate modify logic of polyline shape and polygon shape
- Integrate modify logic of route line
0.2.0-dev.4 #
- Add zOrder attribute at PolygonShape and PolylineShape.
- Support some feature Polyline Shape and Polygon Shape in iOS Platform.
- Add Polyline Shape / Polygon Shape
- Implement Shape Converter(DotPoints, PolylineStyle, PolygonStyle)
0.2.0-dev.3 #
- Support all feature related Poi in iOS Platform.
- Add and remove LodPoi or LodLabelLayer
- Add and remove PolylineText
- Modify Poi.
- Implement Label Converter (WaveTextStyle, WaveTextOption)
- [Fix] Missing feature autoMove parameter in Poi.show() method
- [Fix] Missing feature transition parameter in Poi.changestyle(), Poi.changeText() method
0.2.0-dev.2 #
- Support some feature related Poi in iOS Platform.
- Add and remove Poi or LabelLayer.
- Implement Label Converter(PoiTextStyle, PoiIconStyle, PoiOptions ... etc).
- Add
setGestureEnablemethod in iOS Platform. - Implement
onCameraMoveStartandonCameraMoveEndevent handler. - Implement Reference Converter(UIColor, UIImage) to cast swift instance from dart instance.
- Configure
buildingHeightScaleproperty to not be required awaitable. - Apply MapGravity at Poi.textGravity property.
- Rename default view name on iOS Platform for integration Android default view name
- [Fix] Invaild raw value in MapGravity enumeration
- [Fix] Invaild keyword in transition from enterence to entrance
- [Fix] Adjust default aspectRatio property in PoiTextStyle
- [Fix] Adjust default clickable parameter in LabelController.addPoi and LodLabelController.addLodPoi.
0.2.0-dev.1 #
- Implement Kakao Map View to iOS Platform
- Kakao Map Lifecycle in native environment
- Support responsive frame
- Split delegate instance to
KakaoMapViewDelegate.swift
- Implement Kakao Map Plugin in iOS Platform (based cocoapod)
- Implement converter (PrimitiveTypeConverter, CameraTypeConverter) with extension and internal function.
- Implement
MapviewTypeobject to setup kakao map with extension.
- Implement some feature in Kakao Map Controller
moveCameramethod to control camera looking at a kakao map.getCameraPositionmethod to get camera position looking at a kakao map.
- Implement
SDKInitializerclass in iOS Platform
0.1.0-dev.5 #
- Initial Deployment (Implement Kakao Map to Android Platform)