尝试运行以下代码:
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]);
}
}
});
但是线路类型:['mosque']正在返回
“类型'string []'无法分配给类型'string'.ts(2322) index.d.ts(2801,7):预期的类型来自属性'type',该属性在此处声明为类型'PlaceSearchRequest'“
使用可视代码,不要让我运行这个离子项目。谁能帮我?我查看了Google Places API文档,似乎也拥有正确的格式和类型。
我在 角度的:4.1 离子性:3
答案 0 :(得分:0)
所以我在上面解决了我的问题。
为上述代码尝试运行的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]);
}
}
});