【问题标题】:[Flutter - Mapbox GL]How to add Symbol on initial map load?[Flutter - Mapbox GL]如何在初始地图加载时添加符号?
【发布时间】:2021-11-14 03:33:12
【问题描述】:

我尝试使用 mapController 的 addSymbol 方法添加地图标记,但显然该标记没有显示在地图上

void _onMapCreated(MapboxMapController controller) async {
  mapController = controller;

  deviceMarker = await mapController!.addSymbol(SymbolOptions(
      geometry: LatLng(deviceLongitude, deviceLatitude),
      iconImage: "assets/map_marker_device.png",
      iconSize: 0.1,
      iconOffset: const Offset(0, -150)));
}

【问题讨论】:

    标签: flutter mapbox-gl


    【解决方案1】:

    需要先加载图片,然后手动提供给控制器;您传递给iconImage 的字符串是任意的,只是标识您在MapboxMapController .addImage 中提供的图像

    Future<Uint8List> loadMarkerImage() async {
      var byteData = await rootBundle.load("assets/images/custom_marker.png");
      return byteData.buffer.asUint8List();
    }
    
    void _onMapCreated(MapboxMapController controller) async {
      var markerImage = await loadMarkerImage();
    
      controller.addImage('marker', markerImage);
    
      await controller.addSymbol(SymbolOptions(
          iconSize: 0.1,
          iconImage: "marker",
          geometry: location,
          iconOffset: const Offset(0, -150)));
      
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-25
      • 2018-02-21
      • 2019-08-27
      • 2020-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      相关资源
      最近更新 更多