javascript - Google Places API 字段过滤器不适用

标签 javascript api google-maps-api-3 maps

我正在请求 Google Places 数据,其中填写了“fields”参数,如来自 google 的示例:https://developers.google.com/places/web-service/details#fields 我只请求 3 个字段:geometry, name, neighborhood

在文档中明确指出您应该至少提供 1 个字段:https://developers.google.com/places/web-service/details#fields

function requestGooglePlaces(placeType) {
    var request = {
        fields: ['name', 'geometry', 'vicinity'],
        location: location,
        radius: '5000',
        type: [placeType],
    };

    service = new google.maps.places.PlacesService(map);
    service.nearbySearch(request, callback);
}

function callback(results, status) {
    if (status == google.maps.places.PlacesServiceStatus.OK) {
        for (var i = 0; i < results.length; i++) {
            createMarker(results[i]);
        }
    }
}

function createMarker(place) {
    var marker = new google.maps.Marker({
        map: map,
        position: place.geometry.location,
    });

    google.maps.event.addListener(marker, 'click', function () {
        console.log(place);
        var contentInfoWindows = (place.name + "<br>" + place.vicinity + "<br>" + place.geometry.location);

    });

在我的 Javascript 输出控制台中,我收到了太多字段:

{geometry: {…}, icon: "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png", id: "5ffe179c6015e35e796ff313a35ff5149efd396d", name: "Carrefour market", opening_hours: {…}, …}
geometry: {location: _.Q, viewport: _.R}
html_attributions: []
icon: "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png"
id: "5ffe179c6015e35e796ff6f3a35ff5149efd396d"
name: "Carrefour market"
opening_hours:
open_now: false
__proto__: Object
photos: Array(1)
0: {height: 4128, html_attributions: Array(1), width: 2322, getUrl: ƒ}
length: 1
__proto__: Array(0)
place_id: "ChIJx3_zP3I8w0cR5i6Q99tFeCU"
plus_code: {compound_code: "V84J+X6 Harelbeke, Belgium", global_code: "9F25V84J+X6"}
rating: 4.4
reference: "ChIJx3_zP3I8w0cR5i6Q99tFeCU"
scope: "GOOGLE"
types: (7) ["supermarket", "bakery", "grocery_or_supermarket", "store", "point_of_interest", "food", "establishment"]
user_ratings_total: 22
vicinity: "Mainstreet 137, NY"
__proto__: Object

最佳答案

Nearby Search Request 没有字段 参数.

您引用的文档适用于 Place Details Requests 这不是您在提供的代码中使用的内容。

还有 Usage & Billing页面指​​定:

Nearby Search requests return a list of places with full place details (Nearby Search requests do not support specifying the returned fields).

关于javascript - Google Places API 字段过滤器不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54409753/

相关文章:

javascript - Google map V3 身份验证和重复问题

javascript - 通过 javascript 循环计算用户位置和许多目的地之间的驾驶距离

javascript - 通过 CSS 模块生成的类名以一种奇怪的方式生成

javascript - 在 Node js 中创建桌面应用程序会让我的代码面临公开的危险吗?

node.js - Telegram Bot 中的reply_markup( Node js)

api - 获取计数 CHAT 消息

javascript - Spotify API - 创建临时播放列表

javascript - 刷新 AngularJS 中的 map

javascript - HTML5 网络应用程序中的音频文件播放列表?

javascript - 去除鼠标悬停效果