L.Routing.control 在带有钩子的 react-leaflet v3 上
L.Routing.control on react-leaflet v3 with hooks
我只看到 L.Routing.control 在版本 3 下可以使用,v3 上是否有与之等效的版本?我正在尝试设置两点之间的航点路线和方向。
您可以使用 leaflet-routing-machine
创建自己的自定义组件以设置两点之间的路由:
安装库:
npm i leaflet-routing-machine
导入库的 css 文件:
import "leaflet-routing-machine/dist/leaflet-routing-machine.css";
导入库的js文件:
import "leaflet-routing-machine";
创建自定义排版:
function Routing() {
const map = useMap();
useEffect(() => {
if (!map) return;
const routingControl = L.Routing.control({
waypoints: [L.latLng(57.74, 11.94), L.latLng(57.6792, 11.949)],
routeWhileDragging: true
}).addTo(map);
return () => map.removeControl(routingControl);
}, [map]);
return null;
}
然后将其用作常规的 react-leaflet 组件:
<MapContainer ...>
...
<Routing/>
</MapContainer>
我只看到 L.Routing.control 在版本 3 下可以使用,v3 上是否有与之等效的版本?我正在尝试设置两点之间的航点路线和方向。
您可以使用 leaflet-routing-machine
创建自己的自定义组件以设置两点之间的路由:
安装库:
npm i leaflet-routing-machine
导入库的 css 文件:
import "leaflet-routing-machine/dist/leaflet-routing-machine.css";
导入库的js文件:
import "leaflet-routing-machine";
创建自定义排版:
function Routing() {
const map = useMap();
useEffect(() => {
if (!map) return;
const routingControl = L.Routing.control({
waypoints: [L.latLng(57.74, 11.94), L.latLng(57.6792, 11.949)],
routeWhileDragging: true
}).addTo(map);
return () => map.removeControl(routingControl);
}, [map]);
return null;
}
然后将其用作常规的 react-leaflet 组件:
<MapContainer ...>
...
<Routing/>
</MapContainer>