Каково решение erro, которое (не может прочитать свойство 'innerhtml' undefined ) при реализации Google maps
когда я внедрял в свой проект ionic 3 я включил в него google maps после того как установил все шаги необходимые для правильного использования карт в ionic 3
(страница : google maps с поиском в строке поиска)
мой машинописный код для отображения таков :
импорт { Component, ElementRef, ViewChild, NgZone } из '@angular/core';
импорт { IonicPage, NavController, NavParams, Platform, ViewController } из 'ionic-angular';
импорт { Geolocation } из '@ionic-native/geolocation';
импорт { GoogleMapsProvider } от '../../поставщикам/Google-карты и Google-Карты;
объявить var google ;
@IonicPage()
@Компонент({
селектор: 'страница-map2',
templateUrl: 'map2.html',
})
экспорт класса Map2Page {
@ViewChild('map') mapElement: ElementRef;
@ViewChild('pleaseConnect') pleaseConnect: ElementRef;
широта: число;
долгота: число;
autocompleteService: любой;
placesService: любой;
запрос: string = ";
места: любые = [];
searchDisabled: логическое значение;
saveDisabled: логическое значение;
расположение: любое;
конструктор(публичных navCtrl: NavController, общественные зоны: NgZone, общественные карты: GoogleMapsProvider, публичные платформы: Платформа, общественных геолокации: геолокация, общественных viewCtrl: файл ViewController) {
это.searchDisabled = истина;
это.saveDisabled = истина;
}
ionViewDidLoad(): void {
пусть mapLoaded = this.maps.init(this.mapElement.nativeElement, this.pleaseConnect.nativeElement).then(() => {
this.autocompleteService = новый google.maps.places.AutocompleteService();
this.placesService = новый google.maps.places.PlacesService(this.maps.map);
это.searchDisabled = ложь;
});
}
selectPlace(место){
это.где = [];
пусть расположение = {
широта: нуль,
lng: null,
название: место.название
};
this.placesService.getDetails({placeId: place.place_id}, (details) => {
this.zone.run(() => {
местоположение.имя = details.name;
расположение.широта = детали.геометрия.расположение.широта();
расположение.СПГ = детали.геометрия.расположение.СПГ();
это.saveDisabled = ложь;
это.карты.карте.setCenter({широта: расположение.широта, СПГ: расположение.СПГ});
this.location = местоположение;
});
});
}
ѕеагсһместо(){
это.saveDisabled = истина;
если(это.запрос.длина и gt; 0 &&усилителя; !это.searchDisabled) {
давайте конфиг = {
типы: ['геокод'],
вход: это.запрос
}
this.autocompleteService.getPlacePredictions(config, (predictions, status) => {
если(состояние == в гугле.карты.места.PlacesServiceStatus.ОК && прогнозы){
это.где = [];
прогнозы.forEach((прогнозирование) => {
this.places.push(предсказание);
});
}
});
} еще {
это.где = [];
}
}
сохранить(){
это.viewCtrl.в отставку(при этом.расположение);
}
закрывать(){
это.viewCtrl.уволить();
}
}
и мой html код для этой страницы таков :
<ионный коллектор>
<ion-navbar color="primary">
<ion-кнопки слева>
Отменить
<ion-кнопки справа>
&ЛТ;кнопка [отключен]="saveDisabled" Ион-кнопка (клик)="сохранить ()"и GT;сохранить
<ion-панель инструментов>
<ion-searchbar [(ngModel)]="query" (ionInput)="searchPlace()">
<ion-list>
&ЛТ;Ион-пункт *ngFor="давайте места места" (как touchstart)="selectPlace(место)"и GT;{{Место.описание}}
<ионное содержание>
Пожалуйста, подключитесь к интернету...
<ion-spinner>
моя проблема в том, что когда я иду тестировать код и просматривать результаты, он выдает мне ошибку, которая является :
Ошибка Error: Uncaught (in promise): TypeError: не удается прочитать свойство 'innerHTML' undefined
TypeError: не удается прочитать свойство 'innerHTML' undefined
в Object._.QA (util.js:19)
в L$.attributionText_changed (places_impl.ДШ:40)
at Rc (js?key=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&libraries=places:50)
at l$._.J.bindTo (js?key=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&libraries=places:118)
at Object.m$.f (places_impl.js:40)
в МК.&ЛТ;анонимный&ГТ; (в JS?ключ=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&амп;библиотеки=места:146)
at Object._.Q (js?key=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&libraries=places:62)
в new yw (js?key=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&libraries=places:146)
на map2.ts:37
at t.invoke (polyfills.js:3)
в Object._.QA (util.js:19)
в L$.attributionText_changed (places_impl.ДШ:40)
at Rc (js?key=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&libraries=places:50)
at l$._.J.bindTo (js?key=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&libraries=places:118)
at Object.m$.f (places_impl.js:40)
в МК.&ЛТ;анонимный&ГТ; (в JS?ключ=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&амп;библиотеки=места:146)
at Object._.Q (js?key=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&libraries=places:62)
в new yw (js?key=AIzaSyCfydQz_KdwPVD98a8jMWG3DxB_h-EvJ8U&libraries=places:146)
на map2.ts:37
at t.invoke (polyfills.js:3)
в C (полифиллы.ДС:3)
в polyfills.js:3
at t.invokeTask (polyfills.js:3)
at Object.onInvokeTask (core.js:4620)
at t.invokeTask (polyfills.js:3)
в r.runTask (polyfills.js:3)
at o (polyfills.js:3)
at <anonymous>
строка 37 в коде ts которая выглядит как его причина ошибки это эта строка :
this.placesService = новый google.maps.places.PlacesService(this.maps.map);
Я искал эту ошибку , но не могу найти решение, особенно это происходит в коде для реализации google maps
каково же решение этой ошибки , пожалуйста
и есть еще один вопрос вокруг темы google maps .. Есть ли способ получить информацию о местах из google maps и показать ее в проекте на специальном оповещении, тосте, модале или что-то в этом роде ? (средняя точка это, чтобы получить данные в проект из google maps)
Вообще спасибо
Что я уже пробовал:
Я ничего не пробую до сих пор , я прошу помощи для моего дипломного проекта
Patrice T
Где находится позиция ошибки в этом коде ?
Member 13744702
в этой строке bro => this.placesService = new google.maps.places.PlacesService(this.maps.map);
Richard MacCutchan
Ошибка совершенно очевидна; вы пытаетесь получить доступ к свойству объекта, который не существует. Посмотрите на строки кода перед ошибкой, чтобы понять, почему ссылка недействительна.
Member 13744702
Я понимаю , но не могли бы вы предложить мне решение :/ что мне делать, братан ?
Richard MacCutchan
Вы должны выяснить, какой именно элемент равен нулю, и почему.