คำนวณข้อมูลสรุปการกำหนดเส้นทาง

วิธีใช้การค้นหาข้อความ (ใหม่) หรือการค้นหาใกล้เคียง (ใหม่)เพื่อคำนวณระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับ

  1. ส่งพารามิเตอร์ routingParameters.origin ในคําขอเพื่อระบุพิกัดละติจูดและลองจิจูดของต้นทางการกำหนดเส้นทาง พารามิเตอร์นี้คือ เพื่อคำนวณระยะเวลาและระยะทางไปยังแต่ละสถานที่ใน คำตอบ

  2. ใส่ routingSummaries ในมาสก์ของช่องเพื่อให้คำตอบรวม อาร์เรย์ routingSummaries อาร์เรย์นี้มีระยะเวลาและระยะทางจากต้นทางการกำหนดเส้นทางไปยังสถานที่แต่ละแห่งในการตอบกลับ

ใช้การค้นหาข้อความ (ใหม่)

ในคำขอต่อไปนี้ คุณคำนวณระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับของ Text Search (ใหม่)

  curl -X POST -d '{
    "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
    "routingParameters": {
      "origin": {
        "latitude": -33.8688,
        "longitude": 151.1957362
      }
    }
  }' \
  -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
  -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
  'https://places.googleapis.com/v1/places:searchText'

การตอบกลับมีอาร์เรย์ JSON 2 รายการ ได้แก่ อาร์เรย์ places ที่มีสถานที่ที่ตรงกันและอาร์เรย์ routingSummaries ที่มีระยะเวลาและระยะทางในการเดินทางไปยังสถานที่แต่ละแห่ง

{
  "places": [
    {
      object (Place)
    }
  ]
  "routingSummaries": [
    {
      "legs": [
        object (Leg)
      ]
    }
  ]
}

องค์ประกอบแต่ละรายการในอาร์เรย์ routingSummaries อยู่ในอาร์เรย์ที่เกี่ยวข้อง เป็นตำแหน่งในอาร์เรย์ places กล่าวคือ องค์ประกอบที่ routingSummaries[0] สอดคล้องกับสถานที่ซึ่งอยู่ที่ places[0]

ความยาวอาร์เรย์ของ routingSummaries เท่ากับความยาวอาร์เรย์ของ places ในกรณีที่ routingSummary ของสถานที่ไม่พร้อมใช้งาน รายการอาร์เรย์ว่างเปล่า

เนื่องจากตัวอย่างนี้คำนวณระยะเวลาและระยะทางจากต้นทางการกำหนดเส้นทางไปยังสถานที่แต่ละแห่ง ช่อง legs ในการตอบกลับจึงมีออบเจ็กต์ Leg รายการเดียวที่มี duration และ distanceMeters จากต้นทางการกำหนดเส้นทางไปยังสถานที่

{
  "places": [
    {
      "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Gözleme King Sydney",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    …
  ]
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "597s",
          "distanceMeters": 2607
        }
      ]
    },
    {
      "legs": [
        {
          "duration": "562s",
          "distanceMeters": 2345
        }
      ]
    },
   …
  ]
}

จากตัวอย่างนี้ คุณจะเห็นได้ว่าระยะเวลาและระยะทางจากการกำหนดเส้นทาง ต้นทางเป็นตำแหน่งแรกในผลลัพธ์คือ 597 วินาทีและ 2,607 เมตร

ในตัวอย่างนี้ คุณคำนวณระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับของ Search ในพื้นที่ใกล้เคียง ตัวอย่างนี้จะค้นหาร้านอาหารในซิดนีย์ ประเทศออสเตรเลีย และตั้งค่าการจำกัดตำแหน่งและต้นทางการกำหนดเส้นทางเป็นพิกัดละติจูดและลองจิจูดเดียวกัน

  curl -X POST -d '{
    "includedTypes": ["restaurant"],
    "maxResultCount": 10,
    "locationRestriction": {
      "circle": {
        "center": {
          "latitude": -33.8688,
          "longitude": 151.1957362},
        "radius": 500.0
      }
    },
    "routingParameters": {
      "origin": {
        "latitude": -33.8688,
        "longitude": 151.1957362
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \
  -H "X-Goog-FieldMask: places.displayName,routingSummaries" \
  https://places.googleapis.com/v1/places:searchNearby

คุณไม่จำเป็นต้องใช้พิกัดเดียวกันสำหรับ locationRestriction และจุดเริ่มต้นการกำหนดเส้นทาง เช่น คุณตั้งค่า locationRestriction ไว้ตรงกลาง ของซิดนีย์เพื่อลำเอียงในผลการค้นหาให้กับแวดวงนั้น แต่คุณตั้งค่าต้นทางการกำหนดเส้นทางเป็นพิกัดของบ้าน ซึ่งหมายความว่าเป็นสถานที่อื่นภายในวงกลมการค้นหา จากนั้นคำขอจะกำหนดผลการค้นหาให้อยู่ภายในวงกลม และคำนวณข้อมูลสรุปเส้นทางโดยอิงตามตำแหน่งของบ้าน

ระบุตัวเลือกการเดินทาง

โดยค่าเริ่มต้น การคำนวณระยะเวลาและระยะทางจะเป็นการคำนวณสำหรับรถยนต์ แต่คุณควบคุมประเภทยานพาหนะและตัวเลือกอื่นๆ ในการค้นหาได้

ในตัวอย่างถัดไป คุณจะระบุโหมดการเดินทางเป็น DRIVE และหลีกเลี่ยงทางหลวง

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "routingParameters": {
    "origin": {
      "latitude": -33.8688,
      "longitude": 151.1957362
    },
    "travelMode":"DRIVE",
    "routeModifiers": {
      "avoidHighways": true
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'