#angular #typescript #ionic-framework #ionic3
#angular #машинопись #ionic-framework #ionic3
Вопрос:
Пытаюсь запустить следующий код:
var service = new google.maps.places.PlacesService(this.map);
service.nearbySearch({
location: {lat: resp.coords.latitude, lng: resp.coords.longitude},
radius: 10000,
type: ['mosque']
}, (results,status) => {
if (status === google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i ) {
this.createMarker(results[i]);
}
}
});
но возвращается тип строки: [‘мечеть’]
«Тип ‘string[]’ не может быть присвоен типу’string’.ts(2322) index.d.ts(2801, 7): ожидаемый тип берется из свойства ‘type’, которое объявлено здесь в типе ‘PlaceSearchRequest'»
в визуальном коде и не позволяет мне запускать этот ионный проект. Кто-нибудь может мне помочь? Я проверил документацию Google places API, и, похоже, у меня тоже правильный формат и тип.
Я нахожусь на angular: 4.1 Ионный: 3
Комментарии:
1. Помещение строки ‘mosque’ в скобки [] превращает ее в массив вместо строки. Попробуйте убрать скобки и посмотреть, поможет ли это.
Ответ №1:
Итак, я решил свою проблему выше..
Оказывается, интерфейс для PlaceSearchRequest, из которого пытается выполнить приведенный выше код https://developers.google.com/maps/documentation/javascript/reference/places-service#PlaceSearchRequest
итак, исходя из этого, вам просто нужно определить строку, а не список. Я предполагаю, что ранее у старого API был список в качестве точки входа, поскольку, похоже, его использовал учебник, за которым я следую.
Итак, мой правильный код:
var service = new google.maps.places.PlacesService(this.map);
service.nearbySearch({
location: {lat: resp.coords.latitude, lng: resp.coords.longitude},
radius: 10000,
type: ['mosque']
}, (results,status) => {
if (status === google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i ) {
this.createMarker(results[i]);
}
}
});
Комментарии:
1. Код выглядит идентично вашему вопросу? Что изменилось? Вы имели в виду, что это должно быть
type: 'mosque'
вместоtype: ['mosque']
?