Skip to content

Commit

Permalink
Merge pull request #72 from fluttercommunity/add-featurelayer-example
Browse files Browse the repository at this point in the history
Create FeatureLayer example
  • Loading branch information
maxpeters authored May 2, 2024
2 parents d9242d4 + 64db533 commit e77476f
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 19 deletions.
2 changes: 1 addition & 1 deletion example/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ SPEC CHECKSUMS:

PODFILE CHECKSUM: cc1f88378b4bfcf93a6ce00d2c587857c6008d3b

COCOAPODS: 1.12.1
COCOAPODS: 1.15.2
2 changes: 1 addition & 1 deletion example/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1430;
LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
LastUpgradeVersion = "1300"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
55 changes: 55 additions & 0 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,10 @@ class _ExampleMapState extends State<ExampleMap> {
final LatLng _firstPinCoordinates = const LatLng(52.9, 13.2);
static const String _pinId2 = '456';
final LatLng _secondPinCoordinates = const LatLng(51, 11);
static const String _pinFeatureId = '789';
final LatLng _pinFeatureCoordinates = const LatLng(50.945, 6.965);
static const String _pinLayerId = 'PinLayer';
static const String _featureLayerId = 'FeatureLayer';
static const String _polygon1 = 'polygon1';
static const String _polygon2 = 'polygon2';
static const String _polyLayerId = 'PolygonLayer';
Expand All @@ -61,6 +64,7 @@ class _ExampleMapState extends State<ExampleMap> {
bool _subscribedToBounds = false;
bool _isFirstPinInView = false;
bool _isSecondPinInView = false;
bool _isFeatureInView = false;
bool _subscribedToCenterPosition = false;
bool _subscribedToGraphicsInView = false;
bool _subscribedToZoom = false;
Expand Down Expand Up @@ -124,6 +128,10 @@ class _ExampleMapState extends State<ExampleMap> {
elevationMode: ElevationMode.onTheGround,
);

await _createFeatureLayer(
layerId: _featureLayerId,
);

// Create GraphicsLayer with Lines
await _createGraphicLayer(
layerId: _lineLayerId,
Expand Down Expand Up @@ -327,6 +335,24 @@ class _ExampleMapState extends State<ExampleMap> {
_controller?.removeGraphic(layerId: layerId, objectId: objectId);
}

Future<FeatureLayer?> _createFeatureLayer({
required String layerId,
}) async {
final layer = await _controller?.addFeatureLayer(
layerId: layerId,
options: FeatureLayerOptions(
fields: <Field>[
Field(name: 'oid', type: 'oid'),
Field(name: 'id', type: 'string'),
Field(name: 'family', type: 'string'),
Field(name: 'name', type: 'string'),
],
symbol: _markerSymbol,
),
);
return layer;
}

void _makePolylineVisible({required List<LatLng> points}) {
_controller?.moveCameraToPoints(
points: points,
Expand Down Expand Up @@ -572,6 +598,35 @@ class _ExampleMapState extends State<ExampleMap> {
? const Text('Remove second Pin')
: const Text('Add second Pin'),
),
ElevatedButton(
onPressed: () {
if (_isFeatureInView) {
_removeGraphic(
layerId: _featureLayerId,
objectId: _pinFeatureId,
);
setState(() {
_isFeatureInView = false;
});
} else {
_addPin(
layerId: _featureLayerId,
objectId: _pinFeatureId,
location: _pinFeatureCoordinates,
);
_controller?.moveCamera(
point: _pinFeatureCoordinates,
zoomLevel: 15,
);
setState(() {
_isFeatureInView = true;
});
}
},
child: _isFeatureInView
? const Text('Remove FeatureLayer Pin')
: const Text('Add FeatureLayer Pin'),
),
ElevatedButton(
onPressed: () {
if (_subscribedToZoom) {
Expand Down
56 changes: 40 additions & 16 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.9.0"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
url: "https://pub.dev"
source: hosted
version: "10.0.4"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
url: "https://pub.dev"
source: hosted
version: "3.0.3"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
lint:
dependency: "direct dev"
description:
Expand All @@ -206,34 +230,34 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev"
source: hosted
version: "0.12.16"
version: "0.12.16+1"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
url: "https://pub.dev"
source: hosted
version: "0.5.0"
version: "0.8.0"
meta:
dependency: transitive
description:
name: meta
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.12.0"
path:
dependency: transitive
description:
name: path
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev"
source: hosted
version: "1.8.3"
version: "1.9.0"
plugin_platform_interface:
dependency: transitive
description:
Expand Down Expand Up @@ -299,10 +323,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
url: "https://pub.dev"
source: hosted
version: "0.6.1"
version: "0.7.0"
typed_data:
dependency: transitive
description:
Expand All @@ -327,14 +351,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
web:
vm_service:
dependency: transitive
description:
name: web
sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
name: vm_service
sha256: a75f83f14ad81d5fe4b3319710b90dec37da0e22612326b696c9e1b8f34bbf48
url: "https://pub.dev"
source: hosted
version: "0.3.0"
version: "14.2.0"
sdks:
dart: ">=3.2.0-194.0.dev <4.0.0"
flutter: ">=3.10.0"
dart: ">=3.3.0 <4.0.0"
flutter: ">=3.18.0-18.0.pre.54"

0 comments on commit e77476f

Please sign in to comment.