Как установить для каждого многоугольника идентификатор, используя хеш-карту с базой данных реального времени для циклов ⇐ Android
Как установить для каждого многоугольника идентификатор, используя хеш-карту с базой данных реального времени для циклов
Поэтому я хотел бы создать многоугольник с идентификатором, чтобы можно было перемещать его с помощью кнопки, с помощью следующего кода ниже:
val dataReferenceSI = FirebaseDatabase.getInstance().getReference("фабрика") .child(uid!!).child("exportDocument").child(idDoc) dataReferenceSI.child("Фермер") .addListenerForSingleValueEvent(объект: ValueEventListener { переопределить удовольствие onDataChange(снимок: DataSnapshot) { вар п = 0 val numberHashMap = HashMap () for (ds в snapshot.getChildren()) { п = п + 1 val id = ds.child("id").getValue().toString() val база данныхReferenceFarmer = FirebaseDatabase.getInstance() .getReference("фабрика") .child(id).child("Фермер").child(farmerId) база данныхReferencePetani.child("координата") .addListenerForSingleValueEvent(объект: ValueEventListener { переопределить удовольствие onDataChange(снимок: DataSnapshot) { если (снапшот.exists()) { вар я = 1 var latLngKordinat = ArrayList() val jumlahChildren = snapshot.childrenCount.toInt() for (n in i до jumlahChildren + 1) { вал широта Тана = snapshot.child("координат$i") .child("широта").getValue() .toString().toDouble() Вал долгота Тана = snapshot.child("координат$i") .child("долгота").getValue() .toString().toDouble() if (minimumLat > latitudeTanah) { минимальная широта = широта Таны } if (maxLat longitudeTanah) { minLong = долгота Тана } если (maxLong < долготаТана) { maxLong = долгота Тана } вал координаттанах = ШиротаДлительность( широтаТана, долгота Тана ) вар imageBitmap = BitmapFactory.decodeResource( получитьРесурсы(), getResources().getIdentifier( R.drawable.pin.toString(), "рисуемый", this@GlobalViewIndo.getPackageName() ) ); вар imageActive = Bitmap.createScaledBitmap( изображениеРастровое изображение, 65, 90, ЛОЖЬ ); вал продавецMapLocation = MarkerOptions().position( координаттанах ) .икона( BitmapDescriptorFactory.fromBitmap( изображениеАктивное ) ) маркерПоинт = карта?.addMarker(sellerMapLocation)!! маркерточка markerList.add(markerPoint) маркерHashMap.put(markerPoint, "$i") latLng = LatLng(широта Таны, долгота Таны) latLngKoordinat.add(LatLng(широтаТана, долготаТана)) если (нет == ДжумлаПетани) { если (я == jumlahChildren) { maxMinLatLng.add(LatLng(минимальнаяширина, минимальнаядлина)) maxMinLatLng.add(LatLng(maxLat, maxLong)) minMaxLatLngBound = getPolygonLatLngBounds(maxMinLatLng)!! Обработчик().postDelayed({ карта?.animateCamera( CameraUpdateFactory.newLatLngBounds( минМаксЛатЛнгБаунд, 50 ) ) }, 500) привязка.tombolModeGlobalGlobalViewIndo.setOnClickListener { карта?.animateCamera( CameraUpdateFactory.newLatLngBounds( минМаксЛатЛнгБаунд, 50 ) ) } карта!!.setOnCameraMoveListener { for (каждыймаркер в списке маркеров) { каждыйМаркер.setVisible( карта!!.getCameraPosition().zoom < 15 ) } } } } я = я + 1 } latLngBoundPolygon = getPolygonLatLngBounds(latLngKordinat)!! многоугольник = карта!!.addPolygon( PolygonOptions().addAll(latLngKordinat) .strokeColor( ContextCompat.getColor( Контекст приложения, R.color.light_rubberTraceLine ) ).strokeWidth(8f) .fillColor(Color.parseColor("#1000693B")) ) многоугольник многоугольник.isClickable = правда numberHashMap.put(многоугольник, нет) } } переопределить удовольствие onCancelled (ошибка: DatabaseError) { } }) } } переопределить удовольствие onCancelled (ошибка: DatabaseError) {} }) карта!!.setOnPolygonClickListener { привязка.polygonId.setText(numberHashMap.get(it).toString()) } Но я продолжаю получать следующую хеш-карту:
[*]Многоугольник1, 10 [*]Многоугольник2, 10 [*]Многоугольник3, 10 [*]Многоугольник4, 10 [*]Многоугольник5, 10 [*]Многоугольник6, 10 [*]Полигон7, 10 [*]Полигон8, 10 [*]Полигон9, 10 [*]Многоугольник10, 10
Я хочу получить следующую хэш-карту:
[*]Многоугольник1, 1 [*]Многоугольник2, 2 [*]Многоугольник3, 3 [*]Многоугольник4, 4 [*]Многоугольник5, 5 [*]Многоугольник6, 6 [*]Полигон7, 7 [*]Полигон8, 8 [*]Полигон9, 9 [*]Многоугольник10, 10
Знаете ли вы, в чем проблема?
Спасибо!
Поэтому я хотел бы создать многоугольник с идентификатором, чтобы можно было перемещать его с помощью кнопки, с помощью следующего кода ниже:
val dataReferenceSI = FirebaseDatabase.getInstance().getReference("фабрика") .child(uid!!).child("exportDocument").child(idDoc) dataReferenceSI.child("Фермер") .addListenerForSingleValueEvent(объект: ValueEventListener { переопределить удовольствие onDataChange(снимок: DataSnapshot) { вар п = 0 val numberHashMap = HashMap () for (ds в snapshot.getChildren()) { п = п + 1 val id = ds.child("id").getValue().toString() val база данныхReferenceFarmer = FirebaseDatabase.getInstance() .getReference("фабрика") .child(id).child("Фермер").child(farmerId) база данныхReferencePetani.child("координата") .addListenerForSingleValueEvent(объект: ValueEventListener { переопределить удовольствие onDataChange(снимок: DataSnapshot) { если (снапшот.exists()) { вар я = 1 var latLngKordinat = ArrayList() val jumlahChildren = snapshot.childrenCount.toInt() for (n in i до jumlahChildren + 1) { вал широта Тана = snapshot.child("координат$i") .child("широта").getValue() .toString().toDouble() Вал долгота Тана = snapshot.child("координат$i") .child("долгота").getValue() .toString().toDouble() if (minimumLat > latitudeTanah) { минимальная широта = широта Таны } if (maxLat longitudeTanah) { minLong = долгота Тана } если (maxLong < долготаТана) { maxLong = долгота Тана } вал координаттанах = ШиротаДлительность( широтаТана, долгота Тана ) вар imageBitmap = BitmapFactory.decodeResource( получитьРесурсы(), getResources().getIdentifier( R.drawable.pin.toString(), "рисуемый", this@GlobalViewIndo.getPackageName() ) ); вар imageActive = Bitmap.createScaledBitmap( изображениеРастровое изображение, 65, 90, ЛОЖЬ ); вал продавецMapLocation = MarkerOptions().position( координаттанах ) .икона( BitmapDescriptorFactory.fromBitmap( изображениеАктивное ) ) маркерПоинт = карта?.addMarker(sellerMapLocation)!! маркерточка markerList.add(markerPoint) маркерHashMap.put(markerPoint, "$i") latLng = LatLng(широта Таны, долгота Таны) latLngKoordinat.add(LatLng(широтаТана, долготаТана)) если (нет == ДжумлаПетани) { если (я == jumlahChildren) { maxMinLatLng.add(LatLng(минимальнаяширина, минимальнаядлина)) maxMinLatLng.add(LatLng(maxLat, maxLong)) minMaxLatLngBound = getPolygonLatLngBounds(maxMinLatLng)!! Обработчик().postDelayed({ карта?.animateCamera( CameraUpdateFactory.newLatLngBounds( минМаксЛатЛнгБаунд, 50 ) ) }, 500) привязка.tombolModeGlobalGlobalViewIndo.setOnClickListener { карта?.animateCamera( CameraUpdateFactory.newLatLngBounds( минМаксЛатЛнгБаунд, 50 ) ) } карта!!.setOnCameraMoveListener { for (каждыймаркер в списке маркеров) { каждыйМаркер.setVisible( карта!!.getCameraPosition().zoom < 15 ) } } } } я = я + 1 } latLngBoundPolygon = getPolygonLatLngBounds(latLngKordinat)!! многоугольник = карта!!.addPolygon( PolygonOptions().addAll(latLngKordinat) .strokeColor( ContextCompat.getColor( Контекст приложения, R.color.light_rubberTraceLine ) ).strokeWidth(8f) .fillColor(Color.parseColor("#1000693B")) ) многоугольник многоугольник.isClickable = правда numberHashMap.put(многоугольник, нет) } } переопределить удовольствие onCancelled (ошибка: DatabaseError) { } }) } } переопределить удовольствие onCancelled (ошибка: DatabaseError) {} }) карта!!.setOnPolygonClickListener { привязка.polygonId.setText(numberHashMap.get(it).toString()) } Но я продолжаю получать следующую хеш-карту:
[*]Многоугольник1, 10 [*]Многоугольник2, 10 [*]Многоугольник3, 10 [*]Многоугольник4, 10 [*]Многоугольник5, 10 [*]Многоугольник6, 10 [*]Полигон7, 10 [*]Полигон8, 10 [*]Полигон9, 10 [*]Многоугольник10, 10
Я хочу получить следующую хэш-карту:
[*]Многоугольник1, 1 [*]Многоугольник2, 2 [*]Многоугольник3, 3 [*]Многоугольник4, 4 [*]Многоугольник5, 5 [*]Многоугольник6, 6 [*]Полигон7, 7 [*]Полигон8, 8 [*]Полигон9, 9 [*]Многоугольник10, 10
Знаете ли вы, в чем проблема?
Спасибо!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как сделать карту реального города в GTA (или любой видеоигре), используя js? [закрыто]
Anonymous » » в форуме CSS - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Сколько циклов тактовых циклов стоит экспоненты AVX/SSE на современном процессоре x86_64?
Anonymous » » в форуме C++ - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-