<@U08FE5BHR> Can you try `@Service(Book)`?
# tornadofx
j
@luis.muniz Can you try
@Service(Book)
?
c
не понял твоей проблемы совсем 🙂 didn’t get your question at all
i
Хочу что то вроде этого добавить https://stackoverflow.com/questions/3860277/google-maps-how-to-create-a-custom-infowindow
@chickenfresh Но не понял пока где JS InfoBubble подключить
В идеале ещё хочу Yandex Map но это так понимаю надо свою обертку добавить)
c
тут достаточно бедный фреймворк сам по себе и без знаний javafx вкорячить что-то сложно
сейчас гляну gmapsfx
i
Буду признателен!) Сам пока разбираюсь побольше с JavaFX не хватает пока знаний и опыта. Первый проект подобный
c
Я за недельку разобрался. Тебе fxml нужен, это лучше к Carl
а вообще fxml лучше избегать, это единственный вариант вставить карты?)
(лучше тк он сложный и лично я багов наловил, ничего общего с котлином кроме обертки не имеет)
i
Ну я и так без fxml все делаю
c
и что в твоем случае значит >fully customized?
i
Ну там есть базовый InfoWidow но у него ток контент задать можно увы а рамка и крестик у него остаются
c
в гайде где-то была инфа как убрать целиком рамку и кнопки
я даже делал, могу потом сказать как именно
i
Было бы очень круто, сейчас мне этого достаточно будет. Не попадался такой гайд)
Или я был не внимателен
i
Не не мне именно для InfoWidow которые на гугл карте
html/css/js
GMapsFX тут
С самим tornadofx у меня проблем уже почти нету)
Основное приложение почти готово. Проблемы с картой)
c
ты про такое infoWindow?
на мой взгляд создать фрагмент, передать в него все необходимые значения и отрисовать уже непосредственно в фрагменте все необходимые поля несложно
ты ведь наверняка с фрагментами работал
i
Нет, сек данные заапдейчу, сделаю скрин)
c
ок
i
На карте InfoWindow не в приложении самом)
c
а как сейчас это работает?
так как я понял ты все равно какие-то данные получаешь
если фреймворк (gmapsfx) не позволяет работать с такими окошками - придется оверрайдить то что отображает тебе этот фрагмент сейчас)
i
Copy code
kotlin
                        addMapInializedListener {
                            //Set the initial properties of the map.
                            val mapOptions = MapOptions()
                            val bounds = LatLongBounds()
                            val isOneMarker = projectsList.size == 1


                            mapOptions.center(LatLong(projectsList[0].latitude, projectsList[0].longitude))
                                    .mapType(MapTypeIdEnum.ROADMAP)
                                    .overviewMapControl(false)
                                    .panControl(false)
                                    .rotateControl(false)
                                    .scaleControl(false)
                                    .streetViewControl(false)
                                    .zoomControl(false)
                                    .zoom(10.0)

                            mMap = mapView?.createMap(mapOptions)

                            mMap?.addMouseEventHandler(UIEventType.click) { event: GMapMouseEvent ->
                                val latLong = event.latLong
                                CustomLog.log("mouse clicked on map position lat:${latLong.latitude} lom:${latLong.longitude} ")
                            }

                            //Add a marker to the map
                            projectsList.forEach { p ->
                                val latLong = LatLong(p.latitude, p.longitude)
                                bounds.extend(latLong)
                                val mo = MarkerOptions().position(latLong)
                                        .visible(java.lang.Boolean.TRUE)
                                        .title("${p.id}|${p.latitude}|${p.longitude}")
                                val marker = Marker(mo)
//                                mMap!!.addUIEventHandler(marker, UIEventType.click) {
//                                    //                                myInfoWindow.open(myMap);
//                                    CustomLog.log(TAG, "MarkerClicked ${marker.title}")
//                                    val result = marker.title.split("|")
//                                    mMap?.center = LatLong(result[1].toDouble(), result[2].toDouble())
//                                    listView.selectWhere {
//                                        p.id == result[0].toInt()
//                                    }
//                                }
//                                mMap?.addMarker(marker)

                                val window = createInfoWindow(
                                        latLong,
                                        p.sender.locationName
                                )
                                mMap!!.addUIEventHandler(window, UIEventType.click) {
                                    CustomLog.log(TAG, "MarkerClicked ${marker.title}")
                                    val result = marker.title.split("|")
                                    mMap?.center = LatLong(result[1].toDouble(), result[2].toDouble())
                                    listView.selectWhere {
                                        it.id == p.id
                                    }
                                }
                                window.open(mMap!!)
                            }


                            if(!isOneMarker) {
                                map.fitBounds(bounds)
                                map.panToBounds(bounds)
                            }
                        }
                    }
                }
Я добавляю вебвью с картой. И с помощью GMapFx добавляю InfoWindow с нужным мне html внутри но стандартные средства позволяют редактировать только контент InfoWidow
Всё что красное
А мне надо что бы они выглядели как стандартные элементы самого приложения
то есть я могу подсунуть туда html который будет выгдядеть так же но он всё равно будет в белой рамке с крестиком
c
элементы через graphic рисуются?
i
Нет это обычный html
Он ни как не связан с javafx или tornadofx
c
странно, будто разметка съезжает)
вообще, если вопрос никак не связан с tornado и javafx, то вряд ли кто-то из нас с этим сталкивался
i
Ну тут скорее вопрос по работе с webview в javafx
c
так а ты уверен что проблема в javafx?
у тебя ведь ошибок не возникает, просто внешний вид поехал (типично для webview)
возможно инициализация проходит иначе или где-то в gmapsfx проблема
i
Проблем нету ни в JavaFX ни в GmapsFx просто я не знаю как мне достучаться до js и html который подключается в webview JavaFx