Мой Geocoder
в моем проекте Angular падает, потому что он не определен.Я попытался это: Получение 'Uncaught TypeError: Невозможно прочитать свойство' геокод 'неопределенной' ошибка
Но это не сработает, если я сначала инициализирую или назначу его.Оба не работают.
Мой код, ошибка в первой строке:
private geoCoder = new google.maps.Geocoder();
@ViewChild('search', { static: false })
public searchElementRef: ElementRef;
constructor(private maps: MapsAPILoader, private ngZone: NgZone){ }
ngOnInit() {
// Load places autocomplete
this.maps.load().then(() => {
this.setCurrentLocation();
let autocomplete = new google.place.Autocomplete(this.searchElementRef.nativeElement, {
types: ["address"]
});
autocomplete.addListener("place_changed", () => {
this.ngZone.run(() => {
// Get the place result
let place: google.maps.places.PlaceResult = autocomplete.getPlace();
// Verify result
if (place.geometry === undefined || place.geometry === null) {
return;
}
// Set latitude, longitude & zoom
this.userLat = place.geometry.location.lat();
this.userLng = place.geometry.location.lng();
this.zoom = 12;
});
});
});
}
// Get Current Location Coordinates
private setCurrentLocation() {
if ('geolocation' in navigator) {
navigator.geolocation.getCurrentPosition((position) => {
this.userLat = position.coords.latitude;
this.userLng = position.coords.longitude;
this.zoom = 15;
});
}
}
getaddress(latitude, longitude) {
this.geoCoder.geocode({ "location": { lat: latitude, lng: longitude } }, (results, status) => {
console.log(results);
console.log(status);
if (status === "Ok") {
if (results[0]) {
this.zoom = 12;
this.address = results[0].formatted_address;
} else {
window.alert("No results found.");
}
} else {
window.alert("Something went wrong, please try again.");
}
});
}
С (прокрутите вниз до панели поиска местоположений / мест):
https://www.freakyjolly.com/angular-7-6-add-google-maps-in-angular-2-plus-applications-using-angular-google-maps-module-agm-core-easily/
Как предотвратить аварию?Спасибо!
РЕДАКТИРОВАТЬ: Исправлено: https://stackblitz.com/edit/angular-rhbjrx