diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 90b8570f9..150040d06 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -36,4 +36,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: cc1f88378b4bfcf93a6ce00d2c587857c6008d3b -COCOAPODS: 1.12.1 +COCOAPODS: 1.15.2 diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 86f54661d..7ef472d80 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -157,7 +157,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1300; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index a6b826db2..c87d15a33 100644 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ { 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'; @@ -61,6 +64,7 @@ class _ExampleMapState extends State { bool _subscribedToBounds = false; bool _isFirstPinInView = false; bool _isSecondPinInView = false; + bool _isFeatureInView = false; bool _subscribedToCenterPosition = false; bool _subscribedToGraphicsInView = false; bool _subscribedToZoom = false; @@ -124,6 +128,10 @@ class _ExampleMapState extends State { elevationMode: ElevationMode.onTheGround, ); + await _createFeatureLayer( + layerId: _featureLayerId, + ); + // Create GraphicsLayer with Lines await _createGraphicLayer( layerId: _lineLayerId, @@ -327,6 +335,24 @@ class _ExampleMapState extends State { _controller?.removeGraphic(layerId: layerId, objectId: objectId); } + Future _createFeatureLayer({ + required String layerId, + }) async { + final layer = await _controller?.addFeatureLayer( + layerId: layerId, + options: FeatureLayerOptions( + fields: [ + 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 points}) { _controller?.moveCameraToPoints( points: points, @@ -572,6 +598,35 @@ class _ExampleMapState extends State { ? 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) { diff --git a/example/pubspec.lock b/example/pubspec.lock index f212c28cf..0e4f90b89 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -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: @@ -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: @@ -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: @@ -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"