首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在flutter中找到使用map_view的用户的当前位置?

如何在flutter中找到使用map_view的用户的当前位置?
EN

Stack Overflow用户
提问于 2018-03-23 11:29:28
回答 1查看 1.9K关注 0票数 3

我希望将initialCameraPosition设置为指向用户的当前位置,而不是硬编码经度和纬度。

代码语言:javascript
复制
  showMap() {
     mapView.show(
      new MapOptions(
          mapViewType: MapViewType.normal,
          showUserLocation: true,
          initialCameraPosition: new CameraPosition(
              new Location(23.2599, 77.4126), 10.0),
          title: "Parking Spaces"),
      toolbarActions: [new ToolbarAction("Close", 1)]
      ); 
EN

回答 1

Stack Overflow用户

发布于 2018-04-26 15:37:45

首先,你可以对你想要显示的默认位置进行硬编码:

代码语言:javascript
复制
  MapView  mapView = new MapView();
  mapView.show(
      new MapOptions(
        title: 'map title',
        showUserLocation: true,
        initialCameraPosition: CameraPosition(new Location(35.7050274, 51.364935),11.92)
      )
    );

然后绑定一个函数到地图视图,这样当gps查找用户位置相机位置得到更新时:

代码语言:javascript
复制
mapView.onLocationUpdated.lastWhere((position)=>this.onUserLocationUpdated(position,mapView));

在用户位置更新时,方法名为lastWhere的方法被调用一次。如果您想要跟踪用户的移动,可以使用listen

在此之后,您只需要定义一个函数,将摄像头位置更改为用户当前位置:

代码语言:javascript
复制
onUserLocationUpdated(position,MapView mapview)async {
  double zoomLevel = await mapview.zoomLevel;
  mapview.setCameraPosition(position.latitude, position.longitude, zoomLevel);
}

在上面的代码中,我们得到了用户的缩放级别,所以每次移动都不会改变用户的当前缩放级别。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49441918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档