首页 > 解决方案 > 如何在 Flutter App 上的 OSM 上绘制路线

问题描述

我创建了一个组件来在视图上显示 OpenStreetMap (OSM)。

问题:如何在地图上绘制静态路线。

它应该看起来像我从 GoogleMap 捕获的以下地图。 在此处输入图像描述

到目前为止我所做的。我创建了一个视图来显示地图。 在此处输入图像描述

import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:latlong/latlong.dart';

class TrailMapPage extends StatefulWidget {
  @override
  _TrailMapPageState createState() => _TrailMapPageState();
}

class _TrailMapPageState extends State<TrailMapPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("TrailMapPage")),
      body: _map(context),
    );
  }

  Widget _map(BuildContext context) {
    return new FlutterMap(
      options: MapOptions(
        center: LatLng(22.3193, 114.1694),
        zoom: 13.0,
      ),
      layers: [
        new TileLayerOptions(
            urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
            subdomains: ['a', 'b', 'c']),
        new MarkerLayerOptions(
          markers: [
            new Marker(
              width: 80.0,
              height: 80.0,
              point: new LatLng(51.5, -0.09),
              builder: (ctx) => new Container(
                child: new FlutterLogo(),
              ),
            ),
          ],
        ),
      ],
    );
  }
}

标签: flutterroutesopenstreetmap

解决方案


您可以查看下面的 Flutter Maps 小部件,它具有折线功能,允许在地图顶部添加路线。

https://pub.dev/packages/syncfusion_flutter_maps

查看以下链接了解更多详情。

https://help.syncfusion.com/flutter/maps/vector-layers/polyline-layer#adding-polylines


推荐阅读