コードにマップを実装しています。これまでのところ、これは私が持っているものです:
import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:flutter_map_tappable_polyline/flutter_map_tappable_polyline.dart';
import 'package:latlong/latlong.dart';
import 'package:geolocator/geolocator.dart';
class MapPicker extends StatefulWidget {
MapPicker({Key key}) : super(key: key);
@override
_MapPicker createState() {
return _MapPicker();
}
}
class _MapPicker extends State<MapPicker> {
Position _position;
void getLocation() async {
var position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
print(position);
setState(() {
_position = position;
});
}
@override
Widget build(BuildContext context) {
if(_position == null)
getLocation();
return Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text('Escoger Localización'),
),
body: _position != null ? FlutterMap(
options: MapOptions(
center: LatLng(18.0119098, -66.6159138), //Change to _position
zoom: 15.0
),
layers: [
TileLayerOptions(
urlTemplate:
"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
subdomains: ['a', 'b', 'c']),
MarkerLayerOptions(
markers: [],
),
TappablePolylineLayerOptions(
onTap: (TaggedPolyline polyline) => print(polyline.tag)
)
],
)
:
CircularProgressIndicator(),
);
}
}
現在、テスト目的で LatLon のセットを使用していますが_position
、マップを開くときに現在の位置を使用するという考え方です。しかし、私の問題は次のとおりです。マップ内の任意の場所をタップして、タップした場所の座標を取得できるようにしたいです。これは可能ですか?