拓展插件支持
This commit is contained in:
@ -4,6 +4,7 @@ import 'package:amap_map_example/main.dart';
|
||||
import 'package:amap_map_example/pages/interactive/map_ui_options.dart';
|
||||
import 'package:amap_map_example/pages/map/limit_map_bounds.dart';
|
||||
import 'package:amap_map_example/pages/map/map_my_location.dart';
|
||||
import 'package:amap_map_example/pages/map/map_with_extension_page.dart';
|
||||
import 'package:amap_map_example/pages/map/show_map_page.dart';
|
||||
import 'package:amap_map_example/pages/overlays/marker_config.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@ -16,7 +17,8 @@ class DemoConfiguration {
|
||||
final WidgetBuilder buildRoute;
|
||||
}
|
||||
|
||||
List<Demo> allDemos() => mapDemos() + interactiveDemos() + overlayDemos();
|
||||
List<Demo> allDemos() =>
|
||||
mapDemos() + interactiveDemos() + overlayDemos() + extensionDemos();
|
||||
|
||||
List<Demo> mapDemos() {
|
||||
return [
|
||||
@ -73,6 +75,19 @@ List<Demo> overlayDemos() {
|
||||
];
|
||||
}
|
||||
|
||||
List<Demo> extensionDemos() {
|
||||
return [
|
||||
Demo(
|
||||
title: '辅助信息获取',
|
||||
category: DemoCategory.extension,
|
||||
subtitle: '获取审图号',
|
||||
slug: 'extension-info',
|
||||
configurations: [
|
||||
DemoConfiguration(buildRoute: (context) => MapWithExtensionPage())
|
||||
])
|
||||
];
|
||||
}
|
||||
|
||||
Map<String?, Demo> slugToDemo(BuildContext context) {
|
||||
return LinkedHashMap<String?, Demo>.fromIterable(
|
||||
allDemos(),
|
||||
|
@ -109,6 +109,13 @@ class _AMapDemoState extends State<AMapDemo>
|
||||
category: DemoCategory.overlay,
|
||||
demos: overlayDemos(),
|
||||
)),
|
||||
AnimatedCategoryItem(
|
||||
startDelayFraction: 0.15,
|
||||
controller: _animationController,
|
||||
child: CategoryListItem(
|
||||
category: DemoCategory.extension,
|
||||
demos: extensionDemos(),
|
||||
)),
|
||||
],
|
||||
),
|
||||
);
|
||||
@ -134,7 +141,8 @@ void main() {
|
||||
enum DemoCategory {
|
||||
basic,
|
||||
interactive,
|
||||
overlay;
|
||||
overlay,
|
||||
extension;
|
||||
|
||||
String toDisplayTitle() {
|
||||
switch (this) {
|
||||
@ -144,6 +152,8 @@ enum DemoCategory {
|
||||
return '与地图交互';
|
||||
case overlay:
|
||||
return '在地图上绘制';
|
||||
case extension:
|
||||
return '拓展插件';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -355,12 +355,12 @@ class _MapUiBodyState extends State<AllMapConfigDemoPage> {
|
||||
}
|
||||
|
||||
void printApprovalNumber() async {
|
||||
String mapContentApprovalNumber =
|
||||
(await _controller.getMapContentApprovalNumber())!;
|
||||
String satelliteImageApprovalNumber =
|
||||
(await _controller.getSatelliteImageApprovalNumber())!;
|
||||
print('地图审图号(普通地图): $mapContentApprovalNumber');
|
||||
print('地图审图号(卫星地图): $satelliteImageApprovalNumber');
|
||||
// String mapContentApprovalNumber =
|
||||
// (await _controller.getMapContentApprovalNumber())!;
|
||||
// String satelliteImageApprovalNumber =
|
||||
// (await _controller.getSatelliteImageApprovalNumber())!;
|
||||
// print('地图审图号(普通地图): $mapContentApprovalNumber');
|
||||
// print('地图审图号(卫星地图): $satelliteImageApprovalNumber');
|
||||
}
|
||||
|
||||
Widget createGridView(List<Widget> widgets) {
|
||||
|
71
example/lib/pages/map/map_with_extension_page.dart
Normal file
71
example/lib/pages/map/map_with_extension_page.dart
Normal file
@ -0,0 +1,71 @@
|
||||
import 'package:amap_map_extensions/amap_map_extensions.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:amap_map/amap_map.dart';
|
||||
|
||||
class MapWithExtensionPage extends StatefulWidget {
|
||||
@override
|
||||
State<StatefulWidget> createState() => _MapWithExtensionPageState();
|
||||
}
|
||||
|
||||
class _MapWithExtensionPageState extends State<MapWithExtensionPage> {
|
||||
List<Widget> _approvalNumberWidget = <Widget>[];
|
||||
final _extension = AmapMapExtensions();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final AMapWidget map = AMapWidget(
|
||||
onMapCreated: onMapCreated,
|
||||
extensions: [_extension],
|
||||
);
|
||||
|
||||
return ConstrainedBox(
|
||||
constraints: BoxConstraints.expand(),
|
||||
child: Stack(
|
||||
alignment: Alignment.center,
|
||||
children: [
|
||||
Container(
|
||||
height: MediaQuery.of(context).size.height,
|
||||
width: MediaQuery.of(context).size.width,
|
||||
child: map,
|
||||
),
|
||||
Positioned(
|
||||
right: 10,
|
||||
bottom: 15,
|
||||
child: Container(
|
||||
alignment: Alignment.centerLeft,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: _approvalNumberWidget),
|
||||
))
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
late AMapController _mapController;
|
||||
void onMapCreated(AMapController controller) {
|
||||
setState(() {
|
||||
_mapController = controller;
|
||||
getApprovalNumber();
|
||||
});
|
||||
}
|
||||
|
||||
/// 获取审图号
|
||||
void getApprovalNumber() async {
|
||||
//普通地图审图号
|
||||
String mapContentApprovalNumber =
|
||||
(await _extension.getMapContentApprovalNumber())!;
|
||||
//卫星地图审图号
|
||||
String satelliteImageApprovalNumber =
|
||||
(await _extension.getSatelliteImageApprovalNumber())!;
|
||||
setState(() {
|
||||
_approvalNumberWidget.add(Text(mapContentApprovalNumber));
|
||||
_approvalNumberWidget.add(Text(satelliteImageApprovalNumber));
|
||||
});
|
||||
print('地图审图号(普通地图): $mapContentApprovalNumber');
|
||||
print('地图审图号(卫星地图): $satelliteImageApprovalNumber');
|
||||
}
|
||||
}
|
@ -43,23 +43,23 @@ class _ShowMapPageState extends State<ShowMapPage> {
|
||||
void onMapCreated(AMapController controller) {
|
||||
setState(() {
|
||||
_mapController = controller;
|
||||
getApprovalNumber();
|
||||
// getApprovalNumber();
|
||||
});
|
||||
}
|
||||
|
||||
/// 获取审图号
|
||||
void getApprovalNumber() async {
|
||||
//普通地图审图号
|
||||
String mapContentApprovalNumber =
|
||||
(await _mapController.getMapContentApprovalNumber())!;
|
||||
//卫星地图审图号
|
||||
String satelliteImageApprovalNumber =
|
||||
(await _mapController.getSatelliteImageApprovalNumber())!;
|
||||
setState(() {
|
||||
_approvalNumberWidget.add(Text(mapContentApprovalNumber));
|
||||
_approvalNumberWidget.add(Text(satelliteImageApprovalNumber));
|
||||
});
|
||||
print('地图审图号(普通地图): $mapContentApprovalNumber');
|
||||
print('地图审图号(卫星地图): $satelliteImageApprovalNumber');
|
||||
// //普通地图审图号
|
||||
// String mapContentApprovalNumber =
|
||||
// (await _mapController.getMapContentApprovalNumber())!;
|
||||
// //卫星地图审图号
|
||||
// String satelliteImageApprovalNumber =
|
||||
// (await _mapController.getSatelliteImageApprovalNumber())!;
|
||||
// setState(() {
|
||||
// _approvalNumberWidget.add(Text(mapContentApprovalNumber));
|
||||
// _approvalNumberWidget.add(Text(satelliteImageApprovalNumber));
|
||||
// });
|
||||
// print('地图审图号(普通地图): $mapContentApprovalNumber');
|
||||
// print('地图审图号(卫星地图): $satelliteImageApprovalNumber');
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user