Skip to content

Commit 4423951

Browse files
author
huangjiahong
committed
add zoom function
1 parent b3f765c commit 4423951

File tree

3 files changed

+232
-1
lines changed

3 files changed

+232
-1
lines changed

android/src/main/java/com/imfunc/flutter_minemap/unil/Constants.java

Lines changed: 142 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,149 @@ public static class ViewType {
1414
* 地图状态
1515
*/
1616
public static class FMMMapStateMethodId {
17-
public static final String sMapSetStyleMethod = "flutter_minemap/map/setStyleJson";
17+
/// 设置地图中心点
1818
public static final String sMapSetCenterMethod = "flutter_minemap/map/setCenter";
19+
20+
/// 获取地图中心点
21+
public static final String sMapGetCenterMethod = "flutter_minemap/map/getCenter";
22+
23+
/// 设置地图缩放级别
24+
public static final String sMapSetZoomMethod = "flutter_minemap/map/setZoom";
25+
26+
/// 获取地图缩放级别
27+
public static final String sMapGetZoomMethod = "flutter_minemap/map/getZoom";
28+
29+
/// 设置地图最小缩放级别
30+
public static final String sMapSetMinZoomPreferenceMethod = "flutter_minemap/map/setMinZoomPreference";
31+
32+
/// 获取地图最小缩放级别
33+
public static final String sMapGetMinZoomLevelMethod = "flutter_minemap/map/getMinZoomLevel";
34+
35+
/// 设置地图最大缩放级别
36+
public static final String sMapSetMaxZoomPreferenceMethod = "flutter_minemap/map/setMaxZoomPreference";
37+
38+
/// 获取地图最大缩放级别
39+
public static final String sMapGetMaxZoomLevelMethod = "flutter_minemap/map/getMaxZoomLevel";
40+
41+
/// 设置地图俯仰角度
42+
public static final String sMapSetTiltMethod = "flutter_minemap/map/setTilt";
43+
44+
/// 获取地图俯仰角度
45+
public static final String sMapGetTiltMethod = "flutter_minemap/map/getTilt";
46+
47+
/// 设置地图旋转角度
48+
public static final String sMapSetBearingMethod = "flutter_minemap/map/setBearing";
49+
50+
/// 获取地图旋转角度
51+
public static final String sMapGetBearingMethod = "flutter_minemap/map/getBearing";
52+
53+
/// 设置是否开启wmts模式
54+
public static final String sMapSetWmtsEnabledMethod = "flutter_minemap/map/setWmtsEnabled";
55+
56+
/// 获取是否开启wmts模式
57+
public static final String sMapGetWmtsEnabledMethod = "flutter_minemap/map/getWmtsEnabled";
58+
59+
/// 设置图层跨级访问方式
60+
public static final String sMapSetOdevityMethod = "flutter_minemap/map/setOdevity";
61+
62+
/// 设置路况跨级访问方式
63+
public static final String sMapSetOdevityForTrafficMethod = "flutter_minemap/map/setOdevityForTraffic";
64+
65+
/// 获取图层跨级访问方式
66+
public static final String sMapGetOdevityMethod = "flutter_minemap/map/getOdevity";
67+
68+
/// 获取路况跨级访问方式
69+
public static final String sMapGetOdevityForTrafficMethod = "flutter_minemap/map/getOdevityForTraffic";
70+
71+
/// 设置地图样式
72+
public static final String sMapSetStyleMethod = "flutter_minemap/map/setStyleJson";
73+
74+
/// 设置是否显示路况
75+
public static final String sMapSetTrafficShowMethod = "flutter_minemap/map/setTrafficShow";
76+
77+
/// 设置路况刷新的时间间隔
78+
public static final String sMapSetTrafficRoteMethod = "flutter_minemap/map/setTrafficRote";
79+
80+
/// 重新刷新路况
81+
public static final String sMapUpDataTrafficMethod = "flutter_minemap/map/upDataTraffic";
82+
83+
/// 路况显示范围指定
84+
public static final String sMapSetAreaTrafficMethod = "flutter_minemap/map/setAreaTraffic";
85+
86+
/// 是否开启动态持续刷新
87+
public static final String sMapSetRepaintMethod = "flutter_minemap/map/setRepaint";
88+
89+
/// 设置是否显示地图调试信息
90+
public static final String sMapSetDebugActiveMethod = "flutter_minemap/map/setDebugActive";
91+
92+
/// 获取当前是否显示地图调试信息
93+
public static final String sMapIsDebugActiveMethod = "flutter_minemap/map/isDebugActive";
94+
95+
/// 将地图重置为朝北
96+
public static final String sMapResetNorthMethod = "flutter_minemap/map/resetNorth";
97+
98+
/// 取消正在进行的动画
99+
public static final String sMapCancelTransitionsMethod = "flutter_minemap/map/cancelTransitions";
100+
101+
/// 根据CameraUpdate参数移动相机。
102+
public static final String sMapMoveCameraMethod = "flutter_minemap/map/moveCamera";
103+
104+
/// 以默认持续时间逐渐移动相机, 缩放将不会受到影响, 除非在CameraUpdate中指定。
105+
public static final String sMapEaseCameraMethod = "flutter_minemap/map/easeCamera";
106+
107+
/// 可视区域动画,是指从当前可视区域转换到一个指定位置的可视区域的过程。
108+
public static final String sMapAnimateCameraMethod = "flutter_minemap/map/animateCamera";
109+
110+
/// 获取相机的当前位置.返回的CameraPosition是当前位置的快照, 在相机移动时不会自动更新。
111+
public static final String sMapGetCameraPositionMethod = "flutter_minemap/map/getCameraPosition";
112+
113+
/// 设置约束地图界限
114+
public static final String sMapSetLatLngBoundsForCameraTargetMethod = "flutter_minemap/map/setLatLngBoundsForCameraTarget";
115+
116+
/// 根据地图界限和边距获取相机位置
117+
public static final String sMapGetCameraForLatLngBoundsMethod = "flutter_minemap/map/getCameraForLatLngBounds";
118+
119+
/// 设置地图边距
120+
public static final String sMapSetPaddingMethod = "flutter_minemap/map/setPadding";
121+
122+
/// 获取地图边距
123+
public static final String sMapGetPaddingMethod = "flutter_minemap/map/getPadding";
124+
125+
/// 是否允许多个信息视窗
126+
public static final String sMapSetMultipleInfoWindowsMethod = "flutter_minemap/map/setMultipleInfoWindows";
127+
128+
/// 添加当前地图样式中使用的图像
129+
public static final String sMapAddImageMethod = "flutter_minemap/map/addImage";
130+
131+
/// 批量添加当前地图样式中使用的图像
132+
public static final String sMapAddImagesMethod = "flutter_minemap/map/addImages";
133+
134+
/// 从当前地图的样式中删除图像
135+
public static final String sMapRemoveImageMethod = "flutter_minemap/map/removeImage";
136+
137+
/// 从当前地图的样式中批量删除图像
138+
public static final String sMapRemoveImagesMethod = "flutter_minemap/map/removeImages";
139+
140+
/// 从当前地图的样式中删除所有图像
141+
public static final String sMapRemoveImagesAllMethod = "flutter_minemap/map/removeImagesAll";
142+
143+
/// 根据图像名称ID获取当前地图的样式中的图像对象
144+
public static final String sMapGetImageMethod = "flutter_minemap/map/getImage";
145+
146+
/// 离线数据更新,离线地图包变更后必须调用此方法。
147+
public static final String sMapOfflineDataUpdateMethod = "flutter_minemap/map/offlineDataUpdate";
148+
149+
/// 是否显示水纹
150+
public static final String sMapSetFillWaterEnabledMethod = "flutter_minemap/map/setFillWaterEnabled";
151+
152+
/// 设置是否联网,如果为false,则使用纯离线地图。
153+
public static final String sMapSetConnectedMethod = "flutter_minemap/map/setConnected";
154+
155+
/// 获取屏幕上1像素点对应的地图上距离长度,单位米
156+
public static final String sMapGetScalePerPixelMethod = "flutter_minemap/map/getScalePerPixel";
157+
158+
/// 设置事件自动刷新
159+
public static final String sMapUpDataTrafficEventMethod = "flutter_minemap/map/upDataTrafficEvent";
19160
}
20161

21162
/**

android/src/main/java/com/imfunc/flutter_minemap/views/mapHandler/MMapHandlerFactory.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,48 @@ public void dispatchMethodHandler(Context context, MethodCall call,
4646
switch (methodId) {
4747
case Constants.FMMMapStateMethodId.sMapSetStyleMethod:
4848
case Constants.FMMMapStateMethodId.sMapSetCenterMethod:
49+
case Constants.FMMMapStateMethodId.sMapGetCenterMethod:
50+
case Constants.FMMMapStateMethodId.sMapSetZoomMethod:
51+
case Constants.FMMMapStateMethodId.sMapGetZoomMethod:
52+
case Constants.FMMMapStateMethodId.sMapSetMinZoomPreferenceMethod:
53+
case Constants.FMMMapStateMethodId.sMapGetMinZoomLevelMethod:
54+
case Constants.FMMMapStateMethodId.sMapSetMaxZoomPreferenceMethod:
55+
case Constants.FMMMapStateMethodId.sMapGetMaxZoomLevelMethod:
56+
case Constants.FMMMapStateMethodId.sMapSetTiltMethod:
57+
case Constants.FMMMapStateMethodId.sMapGetTiltMethod:
58+
case Constants.FMMMapStateMethodId.sMapSetBearingMethod:
59+
case Constants.FMMMapStateMethodId.sMapGetBearingMethod:
60+
case Constants.FMMMapStateMethodId.sMapSetWmtsEnabledMethod:
61+
case Constants.FMMMapStateMethodId.sMapGetWmtsEnabledMethod:
62+
case Constants.FMMMapStateMethodId.sMapSetOdevityMethod:
63+
case Constants.FMMMapStateMethodId.sMapSetOdevityForTrafficMethod:
64+
case Constants.FMMMapStateMethodId.sMapGetOdevityMethod:
65+
case Constants.FMMMapStateMethodId.sMapGetOdevityForTrafficMethod:
66+
case Constants.FMMMapStateMethodId.sMapSetTrafficShowMethod:
67+
case Constants.FMMMapStateMethodId.sMapSetTrafficRoteMethod:
68+
case Constants.FMMMapStateMethodId.sMapUpDataTrafficMethod:
69+
case Constants.FMMMapStateMethodId.sMapSetAreaTrafficMethod:
70+
case Constants.FMMMapStateMethodId.sMapSetRepaintMethod:
71+
case Constants.FMMMapStateMethodId.sMapSetDebugActiveMethod:
72+
case Constants.FMMMapStateMethodId.sMapIsDebugActiveMethod:
73+
case Constants.FMMMapStateMethodId.sMapResetNorthMethod:
74+
case Constants.FMMMapStateMethodId.sMapCancelTransitionsMethod:
75+
case Constants.FMMMapStateMethodId.sMapMoveCameraMethod:
76+
case Constants.FMMMapStateMethodId.sMapEaseCameraMethod:
77+
case Constants.FMMMapStateMethodId.sMapAnimateCameraMethod:
78+
case Constants.FMMMapStateMethodId.sMapGetCameraPositionMethod:
79+
case Constants.FMMMapStateMethodId.sMapSetLatLngBoundsForCameraTargetMethod:
80+
case Constants.FMMMapStateMethodId.sMapGetCameraForLatLngBoundsMethod:
81+
case Constants.FMMMapStateMethodId.sMapSetPaddingMethod:
82+
case Constants.FMMMapStateMethodId.sMapGetPaddingMethod:
83+
case Constants.FMMMapStateMethodId.sMapSetMultipleInfoWindowsMethod:
84+
case Constants.FMMMapStateMethodId.sMapAddImageMethod:
85+
case Constants.FMMMapStateMethodId.sMapAddImagesMethod:
86+
case Constants.FMMMapStateMethodId.sMapRemoveImageMethod:
87+
case Constants.FMMMapStateMethodId.sMapRemoveImagesMethod:
88+
case Constants.FMMMapStateMethodId.sMapRemoveImagesAllMethod:
89+
case Constants.FMMMapStateMethodId.sMapGetImageMethod:
90+
case Constants.FMMMapStateMethodId.sMapOfflineDataUpdateMethod:
4991
mMapHandler = mMapHandlerHashMap.get(Constants.MMapHandlerType.MAP_STATE);
5092
break;
5193
case Constants.FMMClusterLayerMethodId.sMapAddClusterLayerMethod:

android/src/main/java/com/imfunc/flutter_minemap/views/mapHandler/MapStateHandler.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,59 @@ public void handlerMethodCallResult(Context context, MethodCall call, MethodChan
4141
case Constants.FMMMapStateMethodId.sMapSetCenterMethod:
4242
setCenter(call, result);
4343
break;
44+
case Constants.FMMMapStateMethodId.sMapSetZoomMethod:
45+
setZoom(call, result);
46+
break;
47+
case Constants.FMMMapStateMethodId.sMapSetMinZoomPreferenceMethod:
48+
setMinZoom(call, result);
49+
break;
50+
case Constants.FMMMapStateMethodId.sMapSetMaxZoomPreferenceMethod:
51+
setMaxZoom(call, result);
52+
break;
4453
default:
4554
break;
4655
}
4756
}
4857

58+
/**
59+
*
60+
* @param call
61+
* @param result
62+
*/
63+
private void setMaxZoom(MethodCall call, MethodChannel.Result result) {
64+
Integer zoom = FMMMapConveter.toInt(call.arguments);
65+
if (zoom != null) {
66+
mMapController.setMaxZoomLevel(zoom);
67+
result.success(true);
68+
}
69+
}
70+
71+
/**
72+
*
73+
* @param call
74+
* @param result
75+
*/
76+
private void setMinZoom(MethodCall call, MethodChannel.Result result) {
77+
Integer zoom = FMMMapConveter.toInt(call.arguments);
78+
if (zoom != null) {
79+
mMapController.setMinZoomLevel(zoom);
80+
result.success(true);
81+
}
82+
}
83+
84+
/**
85+
*
86+
* @param call
87+
* @param result
88+
*/
89+
private void setZoom(MethodCall call, MethodChannel.Result result) {
90+
Integer zoom = FMMMapConveter.toInt(call.arguments);
91+
if (zoom != null) {
92+
mMapController.setZoomLevel(zoom);
93+
result.success(true);
94+
}
95+
}
96+
4997
/**
5098
* @param call
5199
* @param result

0 commit comments

Comments
 (0)