Skip to content

Commit 63d176c

Browse files
implement setting the rotation
1 parent 539bbb1 commit 63d176c

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

arcgis_map_sdk_android/android/src/main/kotlin/dev/fluttercommunity/arcgis_map_sdk_android/ArcgisMapView.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import com.esri.arcgisruntime.mapping.Viewpoint
2626
import com.esri.arcgisruntime.mapping.view.AnimationCurve
2727
import com.esri.arcgisruntime.mapping.view.Graphic
2828
import com.esri.arcgisruntime.mapping.view.GraphicsOverlay
29-
import com.esri.arcgisruntime.mapping.view.LocationDisplay.AutoPanMode
3029
import com.esri.arcgisruntime.mapping.view.LocationDisplay.AutoPanMode.*
3130
import com.esri.arcgisruntime.mapping.view.MapView
3231
import com.esri.arcgisruntime.symbology.Symbol
@@ -153,6 +152,7 @@ internal class ArcgisMapView(
153152
when (call.method) {
154153
"zoom_in" -> onZoomIn(call = call, result = result)
155154
"zoom_out" -> onZoomOut(call = call, result = result)
155+
"rotate" -> onRotate(call = call, result = result)
156156
"add_view_padding" -> onAddViewPadding(call = call, result = result)
157157
"set_interaction" -> onSetInteraction(call = call, result = result)
158158
"move_camera" -> onMoveCamera(call = call, result = result)
@@ -456,6 +456,11 @@ internal class ArcgisMapView(
456456
}
457457
}
458458

459+
private fun onRotate(call: MethodCall, result: MethodChannel.Result) {
460+
val angleDegrees = call.arguments as Double
461+
result.finishWithFuture { mapView.setViewpointRotationAsync(angleDegrees) }
462+
}
463+
459464
private fun onAddViewPadding(call: MethodCall, result: MethodChannel.Result) {
460465
try {
461466
val optionParams = call.arguments as Map<String, Any>

arcgis_map_sdk_method_channel/lib/src/method_channel_arcgis_map_plugin.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,13 @@ class MethodChannelArcgisMapPlugin extends ArcgisMapPlatform {
4242
}
4343

4444
@override
45-
void setAutoPanMode(String autoPanMode, int mapId) {
46-
_methodChannelBuilder(mapId).invokeMethod("set_auto_pan_mode", autoPanMode);
45+
Future<void> setAutoPanMode(String autoPanMode, int mapId) {
46+
return _methodChannelBuilder(mapId).invokeMethod("set_auto_pan_mode", autoPanMode);
47+
}
48+
49+
@override
50+
Future<void> setRotation(double angleDegrees, int mapId) {
51+
return _methodChannelBuilder(mapId).invokeMethod("rotate", angleDegrees);
4752
}
4853

4954
@override

arcgis_map_sdk_platform_interface/lib/src/arcgis_map_sdk_platform_interface.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,14 @@ class ArcgisMapPlatform extends PlatformInterface {
6868
throw UnimplementedError('setMouseCursor() has not been implemented');
6969
}
7070

71-
void setAutoPanMode(String autoPanMode, int mapId) {
71+
Future<void> setAutoPanMode(String autoPanMode, int mapId) {
7272
throw UnimplementedError('setAutoPanMode() has not been implemented');
7373
}
7474

75+
Future<void> setRotation(double angleDegrees, int mapId) {
76+
throw UnimplementedError('setRotation() has not been implemented');
77+
}
78+
7579
Future<AutoPanMode> getAutoPanMode(int mapId) {
7680
throw UnimplementedError('getAutoPanMode() has not been implemented');
7781
}

0 commit comments

Comments
 (0)