我想实现 Google 地图视图以获取用户点击的位置
I want to implement Google Map view to get the location that users taps
在 Android 中,我能够调用 Google Places 屏幕让用户选择一个位置来保存它,我想用 flutter 来做到这一点。
我搜索了一下,发现几乎没有实现那个,我知道现在这是最官方的库(仍然没有实现我想做的)https://pub.dartlang.org/packages/google_maps_flutter
它还没有完成(开发者预览)
我在我的 pubspec 中使用它
map_view:
git:
url: git://github.com/Eimji/flutter_google_map_view
然后就可以在地图上捕获onclick事件了
mapView.onMapTapped.listen((location) {
currentLatitude = location.latitude;
currentLongitude = location.longitude;
//Show only one marker
mapView.clearAnnotations();
mapView.setMarkers(
[Marker("1", "Location", currentLatitude, currentLongitude)]);
//Do whatever you want with the chosen location
mapView.setCameraPosition(
CameraPosition(Location(currentLatitude, currentLongitude), 18));
.............
});
GoogleMap(
onTap: _mapTapped,
compassEnabled: true,
onMapCreated: makeController,
initialCameraPosition: CameraPosition(
target: LatLng(40.712776,-74.005974),
zoom: 12.0,
),
)
_mapTapped(LatLng location) {
print(location);
// The result will be the location you've been selected
// something like this LatLng(12.12323,34.12312)
// you can do whatever you do with it
}
在 Android 中,我能够调用 Google Places 屏幕让用户选择一个位置来保存它,我想用 flutter 来做到这一点。
我搜索了一下,发现几乎没有实现那个,我知道现在这是最官方的库(仍然没有实现我想做的)https://pub.dartlang.org/packages/google_maps_flutter
它还没有完成(开发者预览)
我在我的 pubspec 中使用它
map_view:
git:
url: git://github.com/Eimji/flutter_google_map_view
然后就可以在地图上捕获onclick事件了
mapView.onMapTapped.listen((location) {
currentLatitude = location.latitude;
currentLongitude = location.longitude;
//Show only one marker
mapView.clearAnnotations();
mapView.setMarkers(
[Marker("1", "Location", currentLatitude, currentLongitude)]);
//Do whatever you want with the chosen location
mapView.setCameraPosition(
CameraPosition(Location(currentLatitude, currentLongitude), 18));
.............
});
GoogleMap(
onTap: _mapTapped,
compassEnabled: true,
onMapCreated: makeController,
initialCameraPosition: CameraPosition(
target: LatLng(40.712776,-74.005974),
zoom: 12.0,
),
)
_mapTapped(LatLng location) {
print(location);
// The result will be the location you've been selected
// something like this LatLng(12.12323,34.12312)
// you can do whatever you do with it
}