code: public function bindLocation(array $deviceIdentifier, $poiId, $type = 1, $poiAppid = null)
      {
          $params = [
              'device_identifier' => $deviceIdentifier,
              'poi_id' => intval($poiId),
          ];
  
          if ($type === 2) {
              if (is_null($poiAppid)) {
                  throw new InvalidArgumentException('If value of argument #3 is 2, argument #4 is required.');
              }
              $params['type'] = 2;
              $params['poi_appid'] = $poiAppid;
          }
  
          return $this->parseJSON('json', [self::API_DEVICE_BINDLOCATION, $params]);
      }
docs: Bind location for device.
  
  @param array  $deviceIdentifier
  @param int    $poiId
  @param int    $type
  @param string $poiAppid
  
  @return \EasyWeChat\Support\Collection
  
  @throws InvalidArgumentException