#java #mvvm #google-maps-api-3 #zk
#java #mvvm #google-maps-api-3 #zk
Вопрос:
Мне нужна помощь, чтобы динамически заполнять Gmarker данными lng и lat из моей базы данных и показывать в моем приложении ZK, что я использую Gmaps v.3.0.4
Я добавил маркер в файл zul и пытаюсь использовать forEach, но отображается только один маркер.
<gmaps version="3." id="gmaps" width="100%" showZoomCtrl="true" lat="@bind(vm.lat)" lng="@bind(vm.lng)" height="500px" protocol="https" >
<gmarker forEach="@load(areaList)" lat="@bind(each.lat)" lng="@bind(each.lng)" open="true">
</gmarker>
</gmaps>`
Маркер должен быть отображен как можно больше.
это мой полный файл ZUl с кодом и ViewmModel
Ответ №1:
Попробуйте:
<gmaps version="3." id="gmaps" width="100%" showZoomCtrl="true" lat="@bind(vm.lat)" lng="@bind(vm.lng)" height="500px" protocol="https" children="@load(vm.areaList)">
<template name="children">
<gmarker lat="@load(each.lat)" lng="@load(each.lng)" open="true" />
</template>
</gmaps>
Я не тестировал это, но, надеюсь, это поможет.
Комментарии:
1. Я пробовал, как вы предложили, но маркер по-прежнему не отображается
2. Не удалось заметить, что у вас было
children="@load(areaList)"
. Так и должно бытьchildren="@load(vm.areaList)"
. Я отредактировал свой ответ, чтобы включить изменение.3. Спасибо за ответ, я вижу, что дочерние элементы должны быть
children="@load('vm.areaList)"
, но проблема в том, что порядок lat и lng в моей базе данных изменен на противоположный, спасибо, теперь все работает нормально