গুঞ্জন গুগল ম্যাপস, ইতিমধ্যে তৈরি প্ল্যাটফর্ম ভিউ তৈরির চেষ্টা করছে, দেখুন আইডি: 0


17

গুগল ম্যাপগুলি প্রথমবারের মতো ঝাপটায়, নিখুঁত লোড হয় তবে যখন এটি পুনরায় চালু হয়, এটি প্ল্যাটফর্ম ব্যতিক্রমে চলে যায়

google_maps_flutter: ^ 0.5.21 + 15

গিথুব [google_maps_flutter] ইতিমধ্যে তৈরি করা প্ল্যাটফর্ম ভিউ # 45695 তৈরি করার চেষ্টা করছেন

[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create an already created platform view, view id: 0

পিচ্ছিল ডাক্তার -v

[] Flutter (Channel stable, v1.12.13+hotfix.5, on Linux, locale en_IN)Flutter version 1.12.13+hotfix.5 at /home/asus/Documents/Flutter_SDK/flutter
    • Framework revision 27321ebbad (2 weeks ago), 2019-12-10 18:15:01 -0800Engine revision 2994f7e1e6
    • Dart version 2.7.0


[] Android toolchain - develop for Android devices (Android SDK version 29.0.2)Android SDK at /home/asus/Android/SdkAndroid NDK location not configured (optional; useful for native profiling support)Platform android-29, build-tools 29.0.2Java binary at: /snap/android-studio/81/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)All Android licenses accepted.

[] Android Studio (version 3.5)Android Studio at /snap/android-studio/81/android-studio
    • Flutter plugin version 42.1.1Dart plugin version 191.8593Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[] Connected device (1 available)
    • vivo 172349269ad3 • android-arm64 • Android 9 (API 28)No issues found!

উত্তর:


7

এই সমস্যাটি সমাধান করার জন্য আমি টার্মিনালের মাধ্যমে নিম্নলিখিতটি করেছি:

1- শাখাটি মাস্টার শাখায় পরিবর্তন করা হয়েছে:

flutter channel master

2- আপগ্রেড ফ্লটার

flutter upgrade

3- কোড পরিষ্কার করেছেন:

flutter clean


1
হ্যাঁ, আমিও একই কাজ করেছি এবং হট রিলোডলোড এখন কাজ করছে, মাস্টার শাখায় পরিবর্তিত হয়েছে, ফ্লাটার এবং ফ্লাটার পরিষ্কার করুন, তারপরে অ্যাপ্লিকেশন কাজ করছে
লাভ কুশওয়াহা

1
মাস্টার চ্যানেলে স্যুইচ করা এবং নাড়ির আপগ্রেড করা সমস্যার সমাধান করবে। আপনার জন্য ধন্যবাদ +1
বিনোথ ভিনো

1
মাস্টার শাখায় স্যুইচ করা খারাপ ধারণা। মাস্টার শাখা সবার মধ্যে সবচেয়ে অস্থির। যে কেউ আরও ভাল সমাধান খুঁজছেন তাদের এই প্রশ্নের জন্য অন্য উত্তর বিবেচনা করা উচিত। github.com/flutter/flutter/wiki/Flutter-build-release-channels
fotonmoton

1
এটি হওয়া উচিত flutter cleanছোট হাতের সঙ্গে যদি কেউ এটি সম্পাদনা করতে পারে
Dimitar

1
@ দিমিতর আমি লক্ষ্য করিনি যে এটি বড় হাতের অক্ষর, আমি কেবল এটি সম্পাদনা করেছি, আমাদের জানানোর জন্য ধন্যবাদ,
ইউসেফ গামাল

7

আমারও একই সমস্যা ছিল এবং flutter cleanএটি ব্যবহার করে আমার পক্ষে এটি সমাধান হয়নি ( ঝাঁকুনি দেওয়া সংস্করণ 1.12.13 + হটফিক্স 8 )

তবে তারপরে, উইজেটের একটি অনন্য কী যুক্ত করা (এটির রাজ্যে নয়) আমার জন্য সমস্যাটি সমাধান করে।

এটি প্রদর্শিত সর্বনিম্ন ওয়ার্কিং কোডের নমুনা।

import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Map not crashing demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: LocationScreen(),
    );
  }
}

class LocationScreen extends StatefulWidget 
{
  final Key _mapKey = UniqueKey();
  @override
  _LocationScreenState createState() => _LocationScreenState();
}

class _LocationScreenState extends State<LocationScreen> 
{
  @override
  Widget build(BuildContext context) 
  {
    return Scaffold(
      appBar: AppBar(title: const Text('Map not crashing demo')),
      body: TheMap(key:widget._mapKey)
    );
  }
}

class TheMap extends StatefulWidget 
{
  ///key is required, otherwise map crashes on hot reload
  TheMap({ @required Key key})
  :
  super(key:key);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<TheMap> 
{
  GoogleMapController _mapController ;

  void _onMapCreated(GoogleMapController controller) {
    _mapController = controller;
  }
  @override
  Widget build(BuildContext context) 
  {
    return Scaffold(
      //also this avoids it crashing/breaking when the keyboard is up
      resizeToAvoidBottomInset: false,
      body: GoogleMap(
          onMapCreated: _onMapCreated,
          initialCameraPosition: CameraPosition(
            target: const LatLng(30.0925973,31.3219982),
            zoom: 11.0,
          ),
        )
    );
  }
}

ধন্যবাদ ইয়াদ, কী যুক্ত করা সমস্যার সমাধান করতে সহায়তা করেছে
চারডেন ড্যাক্সেসেন

ঝাঁকুনির 1.17 স্থিতিশীল না হওয়া পর্যন্ত, আমি মনে করি এটি উত্পাদনের কোনও প্রকল্পের সঠিক উত্তর
পাবলো ইনসুয়া

আপনি কী ব্যাখ্যা করতে পারেন যে আমরা কী ব্যবহার করি না GoogleMap()?
শাহজাদ আকরাম

4

এপিআই অনুসারে ,

মানচিত্রের লেআউটটি না আসা পর্যন্ত এই ক্যামেরা আপডেটের সাথে ক্যামেরাটি পরিবর্তন করবেন না (যথাযথ সীমানা বাক্স এবং জুম স্তরটি সঠিকভাবে নির্ধারণ করতে এই পদ্ধতির জন্য, মানচিত্রের অবশ্যই একটি আকার থাকতে হবে)। অন্যথায় একটি অবৈধ স্টেট এক্সেপশন নিক্ষেপ করা হবে।

আমার একই সমস্যা ছিল এবং কিছু ডিবাগিংয়ের পরে, দেখে মনে হচ্ছে মানচিত্রটি দেখার সময় আপনি যখনই হট্রোলোড করবেন তখন এটি ত্রুটিটি দেবে।

আপনি যদি মানচিত্রটি নিষ্পত্তি করার পরে গরম করে পুনরায় লোড করেন তবে আপনি ত্রুটিটি রোধ করতে পারেন।

অন্য কথায়, এটি মানচিত্রের সক্রিয় হওয়ার একাধিক ঘটনা প্রতিরোধ করার জন্য রয়েছে।

সুতরাং আমি বিকাশকালে গরম পুনরায় লোড করার আগে মানচিত্রটি নিষ্পত্তি করার পরামর্শ দেব।

একটি প্রোডাকশন সংস্করণে, ব্যবহারকারীগণ এইভাবে গরম পুনরায় লোড করতে সক্ষম হবে না, তারা প্ল্যাটফর্মের সমস্যার মুখোমুখি হবে না।


3

সমস্যাটি একাধিক গুগল্যাপস উইজেটে একই নিয়ামক ব্যবহার করার কারণে। কেবলমাত্র একটি গুগলম্যাপ উইজেট তৈরি করুন এবং কোনও পরিবর্তন করতে GoogleMapController অবজেক্টটি ব্যবহার করুন।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.