דוגמאות

הקטע הזה עוסק בסדרת בקשות לדוגמה ל-Place Insights API.

כדי להשתמש ב-computeInsights, שולחים בקשת POST של HTTP בפורמט הבא:

https://areainsights.googleapis.com/v1:computeInsights

החזרת מקומות בתוך מעגל

להחזיר את כל המסעדות ברדיוס של 200 מטר מכיכר טרפלגר בלונדון.

  • אזור החיפוש הוא עיגול שמתמקד בקווי אורך ורוחב ספציפיים. הרדיוס של מעגל זה הוא 200 מטר, שקובע את גודל אזור החיפוש.
  • סוג המקום המבוקש הוא 'מסעדה', והמקום הזה מועבר באמצעות included_types בתוך type_filters.
  • בקשת הספירה נשלחה באמצעות INSIGHTS_COUNT, ומזהי המקומות הם נשלחה בקשה באמצעות INSIGHTS_PLACES.
{
  "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"],
  "filter": {
    "location_filter": {
      "circle": {
        "lat_lng": { "latitude": 51.508, "longitude": -0.128},
        "radius": 200
      }
    },
    "type_filter": { "included_types": "restaurant" }
  }
}

החרגה של סוגי מקומות

אפשר גם להחריג סוגי מקומות בספירה.

הבקשה הבאה זהה לדוגמה הראשונה, אבל מוסיפה excluded_types אל type_filters. אפשר להשתמש במחרוזת או במערך של מחרוזות ל-included_types ול-excluded_types.

הדוגמה הזו מחריגה שני סוגי מקומות: cafe ו-bakery, ספירה של restaurant.

{
    "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"],
    "filter": {
        "location_filter": {
            "circle": {
                "lat_lng": { "latitude": 51.508, "longitude": -0.128},
                "radius": 200
            }
        },
        "type_filter": {
            "included_types": "restaurant",
            "excluded_types": [
                "cafe",
                "bakery"
            ]
        }
    }
}

שימוש בסוג הראשי

בדוגמה הזו אנחנו משנים את הבקשה מהדוגמה הראשונה כך שתכלול רק מקומות שהספירה שלהם כוללת primaryType של restaurant.

{
  "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"],
  "filter": {
    "location_filter": {
      "circle": {
        "lat_lng": { "latitude": 51.508, "longitude": -0.128},
        "radius": 200
      }
    },
    "type_filter": { "included_primary_types": "restaurant" }
  }
}

פוליגון מותאם אישית

בדוגמה הזו מוסבר איך להשתמש בפוליגון מותאם אישית כדי להגדיר את אזור החיפוש. חשוב לזכור שציון הערך INSIGHTS_PLACES מגביל את החיפוש לאזורים קטנים מספיק כדי להחזיר עד 100 מזהי מקומות. באזורים גדולים יותר, אפשר להשתמש ב-INSIGHTS_COUNT כדי לעקוף את המגבלה הזו, כך שהשירות לא יצטרך להחזיר מזהים ספציפיים של מקומות.

כמו קודם, סוג המקום שבו נעשה שימוש הוא restaurant. בדוגמה הזו מוצגים גם שלושה מסננים נוספים:

  • operating_status: בדוגמה הזו נספרים רק מקומות שפועלים.
  • price_level: בדוגמה הזו אפשר להשתמש רק במחיר נמוך ובמחיר בינוני במקומות שונים.
  • rating_filter: בדוגמה הזו נספרים רק מקומות עם ציון ביקורות בין 4.0 ל-5.0.
{
    "insights": [ "INSIGHT_COUNT" ],
    "filter": {
        "location_filter": {
            "custom_area": {
                "polygon": {
                    "coordinates": [
                        { "latitude": 37.776, "longitude": -122.666 },
                        { "latitude": 37.130, "longitude": -121.898 },
                        { "latitude": 37.326, "longitude": -121.598 },
                        { "latitude": 37.912, "longitude": -122.247 },
                        { "latitude": 37.776, "longitude": -122.666 }
                    ]
                }
            }
        },
        "type_filter": {
            "included_types": "restaurant"
        },
        "operating_status": [ "OPERATING_STATUS_OPERATIONAL" ],
        "price_levels": [ "PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE" ],
        "rating_filter": { "min_rating": 4.0, "max_rating": 5.0 }
    }
}

אזור גיאוגרפי

בדוגמה הזו נעשה שימוש במזהה מקום של אזור גיאוגרפי כדי להגדיר את אזור החיפוש. מזהי המקומות האלה כוללים את הגיאומטריה של המקום, למשל עיירה או עיר. מזהה המקום שמוצג כאן הוא ChIJiQHsW0m3j4ARm69rRkrUF3w, והוא תואם לעיר Mountain View, California.

העברת מזהה המקום ל-Place Insights API מגדירה את אזור החיפוש של האזור הגיאוגרפי. מזהה המקום מועבר באמצעות place, בפורמט places/<place_ID>.

אפשר לקבל מזהה מקום של אזור גיאוגרפי באחת מהדרכים הבאות:

{
    "insights": [
        "INSIGHT_COUNT"
    ],
    "filter": {
        "location_filter": {
            "region": {
                "place": "places/ChIJiQHsW0m3j4ARm69rRkrUF3w"
            }
        },
        "type_filter": {
            "included_types": [
                "restaurant"
            ]
        }
    }
}