在客户端,我默认zoom为 13:
<no-ssr>
<l-map
:zoom="13"
:center="[coordinates.lat, coordinates.lng]"
:options="options"
>
<l-tile-layer
url="http://{s}.tile.osm.org/{z}/{x}/{y}.png"
/>
<l-marker
v-for="marker in markers"
:key="marker.id"
:lat-lng="[marker.lat, marker.lng]"
>
<l-popup>{{ marker.popUpText }}</l-popup>
</l-marker>
</l-map>
</no-ssr>
但在服务器端,我不想得到地图上的所有点:
Place.objects.all()
我想得到那些在用户可见范围内的东西,像这样:
from django.contrib.gis.geos import Point
from django.contrib.gis.measure import Distance
lat = 52.5
lng = 1.0
radius = 10
point = Point(lng, lat)
Place.objects.filter(location__distance_lt=(point, Distance(km=radius)))
问题是,如何将zoom客户端收到的转换radius为服务器请求中使用的?
你需要这样做:
ref在<l-map>那么,我们将数据发送到服务器。