Google지도에 마커를 그리는 앱을 만들고 싶습니다. 여전히 쉽지만 firebase가 마커 위도 및 경도 값을 제공하기를 원합니다. 나는 아래 코드로 시도했고 마커가 그려지는 것을 제외하고는 모든 것이 작동했습니다 (두 값을 인쇄 할 수 있음).
이것은 내가 시도한 코드입니다.
var boatLatitude;
var boatLongitude;
void getBoatLocation() {
FirebaseDatabase.instance
.reference()
.child('latitudeBoot')
.onValue
.listen((event) {
print('-----------------------' + event.snapshot.value);
setState(() {
boatLatitude = event.snapshot.value;
});
});
FirebaseDatabase.instance
.reference()
.child('longitudeBoot')
.onValue
.listen((event) {
print(event.snapshot.value + '----------------------');
setState(() {
boatLongitude = event.snapshot.value;
});
Marker c = Marker(
markerId: MarkerId('3'),
icon: customIconBoat,
position: LatLng(boatLatitude, boatLongitude));
setState(() {
markers.add(c);
});
});
}
앱이 시작될 때 위의 함수를 호출합니다.
문제는이 메시지를 받고 문제를 어떻게 해결할 수 있는지 모르겠다는 것입니다.
E/flutter (22304): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: type 'String' is not a subtype of type 'double'
이 줄을 바꿔
position: LatLng(boatLatitude, boatLongitude));
이에:
position: LatLng(double.parse('$boatLatitude'), double.parse('$boatLongitude')));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다