【发布时间】:2023-03-13 16:47:04
【问题描述】:
我可以显示带有自定义纬度和经度的地图,但我想在谷歌地图中动态显示商店的标记,但我有点卡在下一步做什么,我尝试了一些示例,但我无法理解知道如何做到这一点,任何人都可以帮助我,我从 api 获取纬度和经度没有问题,但我不知道如何在谷歌地图中设置标记。
变量初始化
GoogleMapController mapController;
final LatLng _center = const LatLng(45.521563, -122.677433);
Set<Marker> markers = Set();
void _onMapCreated(GoogleMapController controller) {
mapController = controller;
}
地图小部件
Widget MapViewData() {
return Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: GoogleMap(
onMapCreated: _onMapCreated,
initialCameraPosition: CameraPosition(
target: _center,
zoom: 11.0,
),
),
);
}
Api 函数返回 lat 和 long 以及详细信息
Future<void> Mapdata() async {
var response = await http.get(
"${Urls.baseUrl}${Urls.GetMapData}?radius=100&locale=en",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer ${userToken}",
"Accept": "application/json"
});
Map<String, dynamic> value = json.decode(response.body);
if (response.statusCode == 200) {
try {
var data = value['data'];
var array = data['shops'];
for (int i = 0; i < array.length; i++) {
var obj = array[i];
mapLists.add(NearByMapModel(
obj['id'],
obj['name'],
obj['address'],
obj['latitude'],
obj['longitude'],
));
}
} catch (e) {
e.toString();
}
}
}
【问题讨论】:
标签: flutter google-maps flutter-dependencies